https://realpython.com/pandas-merge-join-and-concat/

Halo teman — teman!

Kembali lagi nih di akhir pekanku yang lebih produktif karena ada DQ-Weekend Challenge, aku ingin berbagi pengalaman setelah menyelesaikan modul Data Manipulation with Pandas Part 2 di platform DQLab.

Sebelumnya untuk teman — teman yang belum tahu Pandas itu apa, bisa klik disini ya!

Yuk langsung aja kita bahas apa aja yang dipelajari pada kelas ini!

Bagaimana Cara Menggabungkan Pandas Series/DataFrame?

Mengapa Perlu Menggabungkan kedua kelas data tersebut?

Masih ingatkah teman — teman, perbedaan Series dan DataFrame? Series digunakan untuk mengelola data yang hanya memiliki satu tipe data dan kolom, sedangkan DataFrame merupakan kumpulan dari Series dan memiliki banyak kolom dan beragam tipe data. Yappp.. Modul ini diawali dengan aku belajar cara menggabungkan kelas data (Series/DataFrame) yang dimiliki oleh library Pandas.

https://www.geeksforgeeks.org/python-pandas-merging-joining-and-concatenating/

Sebagai seorang praktisi data, pasti sering kali bertemu dengan banyak file sekaligus dan data yang dibutuhkan tersebar di berbagai file tersebut dan membutuhkan metode untuk menggabungkan semua informasi yang dibutuhkan dari setiap file itu. Jika menggunakan Microsoft Excel atau tools serupa, hal tersebut dapat dilakukan dengan copy-paste file. Tetapi hal itu tidak dapat diandalkan jika berhadapan dengan big data yang jumlah datanya milyaran baris dengan beragam informasi yang tidak terbatas. Solusi dari hal ini salah satunya adalah Python dan Pandas.

Terdapat beberapa metode untuk menggabungkan Series/DataFrame di Pandas antara lain: .append() digunakan untuk menambahkan Series/DataFrame ke baris baru, Bagaimana jika ingin menambahkan baris dan kolom baru ? Metode .concat() adalah solusinya. Terdapat metode .merge() yang bentuknya mirip dengan syntax join di SQL (Structured Query Language) sehingga aku bisa mengatur lebih leluasa dengan menentukan berbagai parameter seperti parameter how: bagaimana aku ingin menggabungkan kelas data tersebut (left, right, inner, dan outer). Cara lainnya menggunakan metode .join() yang mengharuskan untuk menetapkan set index dari Series/DataFrame yang ingin digabungkan.

Reshaping Data

https://id.pinterest.com/pin/753297475150395144/

Selanjutnya materi yang aku dapatkan pada modul ini adalah bagaimana melakukan format ulang terhadap dataset. Dalam bab ini tersedia materi yang cukup lengkap bagaimana teknik untuk persoalan tersebut di Pandas. Pada teknik Pivoting aku diajarkan bagaimana Pivoting dengan Single Column Measurement, Pivoting dengan Multiple Column Measurement, dan ada Pivot_Table yang mencegah duplikasi index pada tabel yang telah dipivot. Terdapat juga teknik Melt yang dijelaskan beserta parameter — parameter yang umum digunakan. Kemudian aku diajarkan konsep Stack beserta Unstack DataFrame.

Teknik Agregasi

Bab selanjutnya aku belajar teknik Agregasi yang diperlukan pada saat ingin melihat dataset dengan view yang berbeda dengan melakukan set terhadap data tersebut untuk dikelompokkan dengan bentuk tertentu, lalu menerapkan beberapa fungsi atau metode statistik ke hasil group dataset itu untuk mengetahui behavior dari data tersebut jika ditampilkan secara summary/overview. Terdapat juga metode GroupBy yang digunakan menghitung jumlah baris serta konsep GroupBy yaitu SPLIT melakukan pemecahan indexing/multi-indexing, APPLY tahapan menerapkan fungsi pada masing-masing kelompok tersebut, dan COMBINE yaitu tahapan mengumpulkan semua hasil fungsi dari tiap kelompok menjadi DataFrame lagi. Aku juga belajar Agregasi Kustomisasi dengan menggabungkan teknik Agregasi dan GroupBy.

Time Series

https://www.python-course.eu/pandas_time_series.php

Time Series merupakan Series yang memiliki object datetime. Adakalanya, Pandas salah dalam mengenali object datetime yang tidak dikenal oleh Pandas menjadi object string. Akibatnya, Pandas tidak bisa memanfaatkan full benefit dari time index. Disini aku belajar bagaimana load dataset sebagai Time Series dengan menggunakan parse_date atau mengkonversi dataset menjadi datetime dengan metoed pd.to_datetime().

Resampling

Diakhir modul aku belajar Resampling untuk Time Series yang memiliki dua teknik yaitu :

Downsampling

Dilakukan dengan mengurangi baris datetime menjadi frekuensi yang lebih lambat. Bisa juga dikatakan cara ini digunakan untuk mengurangi baris dataset menjadi lebih sedikit. Misalnya, mengubah kolom datetime yang awalnya berformat daily menjadi monthly.

Upsampling

Kebalikan dari downsampling, cara ini dilakukan dengan menambah baris datetime menjadi frekuensi yang lebih cepat, atau lebih tepatnya menambah baris dataset dengan membuat kolom datetime supaya tampilannya menjadi lebih detail.

Selain menggunakan kedua teknik di atas, aku juga dapat melakukan resampling berdasarkan frekuensi waktu, misalnya sekali 2 minggu, tiap 12 jam, dan sebagainya.

Sekian untuk materi yang aku pelajari di akhir pekan kali ini. Materi kali ini cukup kompleks dan banyak pengetahuan baru yang aku dapatkan dari modul ini. Aku berharap dengan terus mengembangkan kemampuanku di bidang data, dan aku juga berharap yang sama pada teman — teman pembaca!

NB: Mungkin untuk kedepannya team DQLab dapat memperbaiki code editor yang masih sangat sensitif karena pengalaman belajar jadi terasa kurang jika output yang dihasilkan telah sesuai namun terjadi kegagalan submit yang tidak diketahui alasannya.

DQLab Module : Data Manipulation With Pandas Part 2

~ Terima kasih telah membaca! ~

--

--