Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Python

Pandas: Pisau Swiss Army untuk Data Anda, Bagian 2

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Pandas: The Swiss Army Knife for Your Data.
Pandas: The Swiss Army Knife for Your Data, Part 1

Indonesian (Bahasa Indonesia) translation by ⚡ Rova Rindrata (you can also view the original English article)

Ini adalah bagian dua dari tutorial dua bagian tentang Pandas, piranti analitik data Python yang menakjubkan.

Pada bagian pertama, kami membahas tipe data dasar Pandas: seri dan frame data. Kami mengimpor dan mengekspor data, subset data yang dipilih, bekerja dengan metadata, dan mengurutkan data.

Pada bagian ini, kami akan melanjutkan perjalanan kami dan menangani data yang hilang, manipulasi data, penggabungan data, pengelompokan data, rangkaian waktu, dan perencanaan.

Berurusan dengan Nilai-nilai yang Hilang

Salah satu poin terkuat pandas adalah penanganannya terhadap nilai-nilai yang hilang. Itu tidak hanya akan jatuh dan terbakar di hadapan data yang hilang. Ketika data hilang, pandas menggantikannya dengan np.nan (bukan angka), dan tidak berpartisipasi dalam perhitungan apa pun.

Mari mengindeks ulang frame data kami, menambahkan lebih banyak baris dan kolom, tetapi tanpa data baru. Untuk membuatnya menarik, kami akan mengisi beberapa nilai.

Perhatikan bahwa df.index.append() mengembalikan indeks new dan tidak mengubah indeks yang ada. Juga, df.reindex() mengembalikan frame data new yang saya tetapkan kembali ke variabel df.

Pada titik ini, bingkai data kita memiliki enam baris. Baris terakhir adalah semua NaN, dan semua baris lainnya kecuali baris ketiga dan keempat memiliki NaN di kolom "c". Apa yang dapat Anda lakukan dengan data yang hilang? Berikut beberapa opsi:

  • Menyimpannya (tetapi tidak akan berpartisipasi dalam perhitungan).
  • Membuangnya (hasil perhitungan tidak akan berisi data yang hilang).
  • Mengganti dengan nilai default.

Jika Anda hanya ingin memeriksa apakah Anda memiliki data yang hilang dalam frame data Anda, gunakan metode isnull(). Ini mengembalikan mask boolean dari dataframe Anda, yang True untuk nilai yang hilang dan False untuk sebaliknya.

Memanipulasi Data Anda

Ketika Anda memiliki frame data, Anda sering perlu melakukan operasi pada data. Mari kita mulai dengan frame data baru yang memiliki empat baris dan tiga kolom bilangan bulat acak antara 1 dan 9 (inklusif).

Sekarang, Anda dapat mulai mengerjakan datanya. Mari menjumlahkan semua kolom dan menetapkan hasilnya ke baris terakhir, lalu menjumlahkan semua baris (dimensi 1) dan menetapkan ke kolom terakhir:

Anda juga dapat melakukan operasi pada seluruh frame data. Berikut adalah contoh pengurangan 3 dari masing-masing dan setiap sel:

Untuk kontrol total, Anda dapat menerapkan fungsi bebas:

Penggabungan Data

Skenario umum lainnya ketika bekerja dengan frame data adalah mongkombinasikan dan menggabungkan frame data (dan seri) bersama-sama. Pandas, seperti biasa, memberi Anda pilihan yang berbeda-beda. Mari membuat frame data lain dan menjelajahi berbagai opsi.

Concat

Saat menggunakan pd.concat, pandas hanya menggabungkan semua baris dari bagian yang disediakan secara berurutan. Tidak ada penjajaran indeks. Lihat pada contoh berikut ini bagaimana nilai indeks duplikat dibuat:

Anda juga dapat menggabungkan kolom dengan menggunakan argumen axis=1:

Perhatikan bahwa karena frame data pertama (saya hanya menggunakan dua baris) tidak memiliki banyak baris, nilai yang hilang secara otomatis diisi dengan NaN, yang mengubah jenis kolom tersebut dari int menjadi float.

Ada kemungkinan untuk menggabungkan sejumlah frame data dalam satu panggilan.

Merge

Fungsi merge berfungsi dengan cara yang mirip dengan SQL join. Ini menggabungkan semua kolom dari baris yang memiliki kunci yang sama. Perhatikan bahwa ini beroperasi pada dua frame data saja:

Append

Metode append() data frame adalah jalan pintas kecil. Secara fungsional berperilaku seperti concat(), tetapi menyimpan beberapa stroke kunci.

Pengelompokan Data Anda

Berikut ini adalah frame data yang berisi anggota dan usia dari dua keluarga: Smith and Jones. Anda dapat menggunakan metode groupby() untuk mengelompokkan data berdasarkan nama belakang dan mencari informasi di tingkat keluarga seperti jumlah usia dan usia rata-rata:

Seri Waktu

Banyak data yang penting adalah data seri waktu. Pandas memiliki dukungan kuat untuk data seri waktu yang dimulai dengan rentang data, melalui pelokalan dan konversi waktu, dan semua cara untuk resampling berbasis frekuensi yang canggih.

Fungsi date_range() dapat menghasilkan urutan datetime. Berikut adalah contoh menghasilkan periode enam minggu mulai tanggal 1 Januari 2017 menggunakan zona waktu UTC.

Menambahkan stempel waktu ke frame data Anda, baik sebagai kolom data atau sebagai indeks, sangat bagus untuk mengatur dan mengelompokkan data Anda berdasarkan waktu. Ini juga memungkinkan resampling. Berikut ini adalah contoh dari resampling setiap menit data sebagai agregasi lima menit.

Perencanaan

Pandas mendukung perencanaan dengan matplotlib. Pastikan sudah terinstal: pip install matplotlib. Untuk menghasilkan plot, Anda dapat memanggil plot() dari seri atau frame data. Ada banyak pilihan untuk mengendalikan plot, tetapi yang default berfungsi untuk tujuan visualisasi sederhana. Berikut adalah cara membuat grafik garis dan menyimpannya ke file PDF.

Perhatikan bahwa pada macOS, Python harus diinstal sebagai kerangka kerja untuk perencanaan dengan Pandas.

Kesimpulan

Pandas adalah kerangka analitik data yang sangat luas. Ini memiliki model objek sederhana dengan konsep seri dan frame data dan kekayaan fungsi bawaan. Anda dapat membuat dan mencampur fungsi pandas dan algoritma Anda sendiri.

Selain itu, jangan ragu untuk melihat apa yang kami miliki untuk dijual dan untuk belajar di marketplace, dan jangan ragu untuk mengajukan pertanyaan dan memberikan umpan balik Anda yang berharga menggunakan umpan di bawah ini.

Pengimporan dan pengeksporan data di pandas juga sangat luas dan pastikan Anda dapat mengintegrasikannya dengan mudah ke dalam sistem yang ada. Jika Anda melakukan pengolahan data dengan Python, pandas termasuk dalam kotak peralatan Anda.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.