Langsung ke konten utama

ETL Extract Transform Load

  • Complete the transform_avg_rating() function by grouping by the course_id column, and taking the mean of the rating column.
  • Use extract_rating_data() to extract raw ratings data. It takes in as argument the database engine db_engines.
  • Use transform_avg_rating() on the raw rating data you've extracted.
  • Mencari kesamaan antar user 1 2 3 berdasarkan rating yang di input di sistem

Now that you have a grasp of what's happening in the datacamp_application database, let's go ahead and write up a query for that database.

The goal is to get a feeling for the data in this exercise. You'll get the rating data for three sample users and then use a predefined helper function, print_user_comparison(), to compare the sets of course ids these users rated.

  • Complete the connection URI. The database is called datacamp_application. The host is localhost with port 5432. The username is repl and the password is password.
  • Select the ratings of users with id: 438718163 and 8770.
  • Fill in print_user_comparison() with the three users you selected.

# Complete the connection URI

connection_uri = "postgresql://repl:password@localhost:5432/datacamp_application" 
db_engine = sqlalchemy.create_engine(connection_uri)

# Get user with id 4387
user1 = pd.read_sql("SELECT * FROM rating WHERE user_id=4387", db_engine)

# Get user with id 18163
user2 = pd.read_sql("SELECT * FROM rating WHERE user_id=18163", db_engine)

# Get user with id 8770
user3 = pd.read_sql("SELECT * FROM rating WHERE user_id=8770", db_engine)

# Use the helper function to compare the 3 users
print_user_comparison(user1, user2, user3)


Course id overlap between users:

================================ User 1 and User 2 overlap: {32, 96, 36, 6, 7, 44, 95} User 1 and User 3 overlap: set() User 2 and User 3 overlap: set()


Mencari Average Rating

In this exercise, you'll complete a transformation function transform_avg_rating() that aggregates the rating data using the pandas DataFrame's .groupby() method. The goal is to get a DataFrame with two columns, a course id and its average rating:

course_idavg_rating
1234.72
1114.62

In this exercise, you'll complete this transformation function, and apply it on raw rating data extracted via the helper function extract_rating_data() which extracts course ratings from the rating table.


  • Complete the transform_avg_rating() function by grouping by the course_id column, and taking the mean of the rating column.
  • Use extract_rating_data() to extract raw ratings data. It takes in as argument the database engine db_engines.
  • Use transform_avg_rating() on the raw rating data you've extracted

# Complete the transformation function
def transform_avg_rating(rating_data):
    # Group by course_id and extract average rating per course
    avg_rating = rating_data.groupby('course_id').rating.mean()
    # Return sorted average ratings per course
    sort_rating = avg_rating.sort_values(ascending=False).reset_index()
    return sort_rating

# Extract the rating data into a DataFrame    
rating_data = extract_rating_data(db_engines)

# Use transform_avg_rating on the extracted data and print results
avg_rating_data = transform_avg_rating(rating_data)
print(avg_rating_data) 

course_id rating 0 46 4.800000 1 23 4.800000 2 96 4.692765 3 56 4.661765 4 24 4.653061 .. ... ... 94 54 4.238095 95 92 4.222222 96 29 4.208333 97 17 4.147059 98 42 4.107570



Komentar

Postingan populer dari blog ini

Pompa Air Booster Shimizu PS 135 E Otomatis Bermasalah & Cara Menangulangi nya

Pengunaan pompa air untuk Booster sering kali digunakan untuk rumah bertingkat. Biasanya pompa booster bekerja otomatis, bisa menggunakan pressure switch atau flow switch . Penggunaan pressure switch lebih banyak, karena lebih murah dan kebanyakan sudah merupakan fitur standar dari manufaktur pompa. Kali ini saya akan membagi pengalaman menggunakan Pompa Booster Shimizu PS-135 E menggunakan pressure switch. Pembelian pompa 11 April 2015 sudah cukup berumur 4tahun usianya. Problem yang biasa terjadi untuk pompa booster tipe pressure switch. 1. Pompa On-Off dengan jeda sangat pendek ketika keran di buka 1/4 atau setengah, bahasa lainnya cetak cetek , cetek cetek 2. Pompa On terus tidak pernah mati 3. Pompa tidak mau menyala Kita bahas satu persatu

Jual Jupiter Z Road Race 5TP Karburator

04-Maret-2019 Bagi teman-teman semua yang lagi cari jupiter Z 5TP , saya jual Jupiter saya, motor sasisnya tidak pernah jatuh keras, masih stabil, mesin juga awet, karena saya beli barang-barang kelas atas. Motor sering juara, foto dibawah dapat juara 1 di Sentul Kecil , motor juga dibuat bengkel yang punya nama di Sentul. Spesifikasi Motor Yamaha Jupiter Z 1. Super Head BRT  Original , porting polished by R-Flamboyan Cilandak Jagakarsa 2. Blok BRT, Forged Piston  Original 3. Karburator Keihin PWK KX 28mm   Original 4. Close Ratio TDR Racing   Original 5.  Magnit Flywheel custom by R-Flamboyan Cilandak Jagakarsa 6. CDI BRT I Max 24 step  Original 7. Valve size 29mm Intake, dan 24mm Exhaust 8. Knalpot Custom Free Flow 9. Rocker Arm Racing Roller, Per Klep Racing 10. Camshaft full custom by R-Flamboyan Cilandak Jagakarsa 11. Crankcase Yamaha X-1   Original 12.  Velg TK Excel Asia R17  Original 13. Ban Depan...

Pabrik tutup di Indonesia, hilangnya rantai ekonomi dan sumber nafkah

Pabrik Industri tutup lagi, terakhir yg cukup saya perhatikan adalah tutupny pabrik ban sepeda Schwalbe yg cukup impact langsung ke saya karena saya pengguna ban Sepeda Schwalbe . Pabrik ini tutup (2024) dan pindah ke vietnam karena masalah profit margin dan iklim bisnis, dimana pemerintah vietnam memberikan banyak stimulus utk investor luar negeri jadi pasar investasi vietnam sexy sekali. Pabrik Schwalbe di Vietnam memiliki kira kira 3500pekerja dan 48.000kapasitas produksi ban tiap hari. Bayangkan berapa besar dampak ekonomi nya, kalau dari 3500pekerja tersebut 3000saja laki-laki kepala rumah tangga, punya istri dan 1 anak, berarti ada 9000manusia yg bisa di nafkahi dari industri tersebut. Perkara pabrik ban ini melibatkan mata rantai besar, tutup nya pabrik ini bukan hanya impact di karyawan pabrik saja, ada dampak juga ke petani karet , usaha atau bisnik logistik, sekedar warteg atau tempat makan dan kos2an sekitar pabrik. Jadi jangan kira tutupnya pabrik ini kita cuma bicara ...

Yamaha Mio J ga bisa di starter, jangan buru-buru ganti Aki

 22 Oktober 2022 Yamaha Mio J 2014 , dah mayan senior. Tiba-tiba starter kadang bisa kadang enggak, pas panas lancar bisa starter. Awalnya saya kira, ah ini sih aki, orang di pencet tombol starter cuma ngek ngek, ga jreng. Iseng2 ukur voltase aki pake multimeter sanwa Voltase aki pas mesin lagi nyala 13.7volt (normal lagi di cas berarti sama spul dan kiprok ) motor di matikan, tegangan aki masih di angka 12.7 - 13.2volt (normal juga) Pencet starter, voltase drop sampai cuma 5V, dan recover lagi ke 12Volt setelah lepas tombol starter. Wah ini sih kayaknya bukan aki. Langsung cek bendik (relay) starter . Fisik sih dah mulai karat2. Daripada penasaran ke toko sparepart beli bendik starter, yang ori mahal 98rb, jadi beli aspira buat Honda(50rb) saya pastikan dulu bentuk soketnya, sama persis ( Harga Balikpapan memang jauh lebih mahal dari Jabodetabek) ini yang aspira buat honda soket sama aja ama buat yamaha mio J Ini yang asli Saya pasang dan so far jadi lancar starter, besok bakal s...

Tujuan Manusia diciptakan adalah untuk beribadah kepada Allah dan mengharapkan Ridho Allah semata

7 Apr 2025 Pernah ada fasa memikirkan apa guna nya hidup di umur kepala 2x, kalau dulu s.d masa kuliah masih no clue, ya banyak impian apalagi hasil tontonan film 90an s.d 2000 , hidup menarik sekali, jadi superhero, jadi kaya, bisa beli mainan apa saja. Banyak kegiatan menantang yg bisa di coba, tiap hari bangun punya drive baru untuk dilakukan, punya target baru yg harus dikejar. Semakin tua banyak impian yg bisa, tidak bisa dan ada yg mustahil dicapai, apalagi dari kecil terbiasa result driven , kalau nda dapat apa2 buat apa berusaha. Sulit sekali nanti hanya utk sekedar bangun tidur hari itu saja sudah tidak ada drive apa2 lagi. Nanti ada masa nya, semua drive atau tujuan dunia tidak memenuhi dahaga lagi, disini lah peran agama, ya yg idealnya harus di pupuk sedari kecil, tapi tidak ada kata terlambat, kapan pun kita mulai mendekat ke agama itu memang waktu yg terbaik dan memang Allah yg memberikan hidayahnya. Sekarang ambisi dan agresifitas sudah berkurang di diri saya, kondisi s...

Cara reset wifi password hero 3+ dan Update firmware via Micro SD

Khusus hero 3+ karena ga ada pilihan di setup untuk reset wifi. Kalau sampai lupa password wifi GoPro Hero 3 dan 3+ cara untuk resetnya agak repot, cara nya hampir sama dengan update firmware via microSD Step - step nya dibawah Pastikan batre penuh (minimal dua garis, lebih baik full) 1. Siapkan Micro SD 2. Buka Link https://gopro.com/update/hero3_plus 3. Klik Update camera manually 4. Masukkan serial number Hero 3+ nya, ada di dalam wadah batre GoPro serial number khusus hero3 dimulai dengan huruf H Contoh: HERO3+: H3X+1233X0L1234 HERO3: HD3LB123X0L1234 Masukin alamat email juga (wajib) 5.Centang you agree to our term, klik next step> 6. Ada pilihan, silahkan pilih sesuai kebutuhan Wifi & Firmware update Wifi Update Only Firmware Update Only 7 a. Jika butuh untuk reset password wifi saja, pilih wifi update only next, akan ada isian ENTER A NAME AND PASSWORD FOR YOUR CAMERA Your camera name and password must each contain at least 8 characters. Suppo...

Wet Seal Arrangement 3 Seal by Default goes to 3CW-FB

Wet Seal Arrangement 3 Seal by Default goes to 3CW-FB Refer ke API 682 , section 7.3.3.2.1 seperti dibawah secara default saat double seal arrangement (arrangement 3 contoh 53B) terpilih, maka konfigurasi inner dan outer seal jatuh kepada 3CW-FB . Bisa dibaca di API682, kenapa 3CW- FB jadi preferensi, karena apabila ada abrasive atau solid contaminant di liquid maka akibat dari putaran ( gaya sentrifugal ) debris atau solid ini akan terdorong ke sisi casing, bukan ke sisi seal face. Sedikit pembukaan ada konfigurasi apa saja di mechanical seal ? ada 3 pilihan, yaitu 3CW-FB, BB dan FF F = Face B = Back Ternyata pilihan FF dan BB tersedia karena ada kelebihan tersendiri, yaitu ukuran yang lebih kecil dan compact. Juga di klaim memiliki performance sealing yang lebih baik dari 3CW-FB. Tapi dengan downside nya adalah prune to solid deposit . karena posisi dari seal face ada di area sentrifugal dari shaft itu sendiri. Gambar dibawah adalah konfigurasi 3CW-BB , bisa dilihat posisi dari ...

[JUAL] KYT Alpha Venom Special Edition Doni Tata Pradita #7

28-Feb-2018 Helm yang saya beli dari tahun 2014, cukup awet, dulu dipakai harian dari Fatmawati ke daerah Megakuningan. Tahun itu pilihan helm lokal tidak terlalu banyak, dan KYT Alpha Venom ini salah satu pioner double visor . Kenapa saya memilih double visor, karena terkadang saat pulang kerja ada beberapa jalan yang benar-benar menghadap ke barat, dimana matahari terbenam. Sila

Menolak Punah: Proyek Restorasi Yamaha Jupiter Z Bergaya Road Race

  Siapa yang tidak kenal dengan Yamaha Jupiter Z 5TP, seri ini memang salah satu legenda di lintasan balap maupun harian. Kali ini, di 27augusta.web.id , kita akan membedah proses restorasi total Jupiter Z yang tidak hanya sekadar mengembalikan kesegaran tampilan, tapi juga menyuntikkan performa ala motor balap kelas MP (Bebek Modifikasi). 1. Konsep: Daily Racing Tujuan utama restorasi ini adalah menciptakan motor yang tampak resik seperti motor pajangan, namun punya napas panjang saat dibetot di jalanan. Konsep Motor Balap atau jaman dulu di sebut KoMoRod alias Korban Motor RoadRace dipilih karena memberikan aura agresif namun tetap fungsional. 2. Sektor Mesin: Performa Optimal Restorasi mesin bukan sekadar ganti paking. Untuk mendapatkan rasa berkendara yang responsif: Refresh Jeroan: Piston, ring, dan klep wajib diperiksa. Jika sudah mulai lelah, ganti dengan part original atau upgrade tipis-tipis. Porting Polish: Untuk melancarkan aliran bahan bakar dan pembuangan, sentuhan ...

Ulsan ke Incheon Airport via intercity express bus Ulsan Lotteria

28 Maret 2025 Tulisan kali ini membahas secara brief moda transportasi menggunakan bus express direct dari Ulsan ke Incheon Airport . Schedule flight jam 00.20 29-Maret-2025, karena baru pertama kali jadi safety margin di set sangat lebar, yaitu dengan membeli tiket bus Jam 14.30 tgl 28Mar25 seharaga won 49.100,- di cek menggunakan naver maps waktu perjalanan harusnya 5jam 30an menit. Jika kita stay di akomodasi area Dong-Gu Ulsan (Ulsan sisi selatan timur) maka untuk mencapai Ulsan Intercity Bus Station lebih dekat, dengan biaya taxi 17.000,- an won. sekitar 10 km. Saya bergerak dari lokasi akomodasi saya jam 13.30. Tidak buru2 20-30menit sampai di Ulsan Intercity Bus Station(Lotteria Ulsan) Saya record touch down di Inchen Airport ternyata di Jam 20.33 jadi sekitar 6 jam real perjalanan, ada beberapa kepadatan lalu lintas di jalan tol dekat seoul. Kelebihan lain menggunakan bus dari ulsan adalah tidak perlu banyak pindah moda, cukup naik bus dan duduk manis, langsung s...