Nama : Wulan Novi Putrianti Nim : 210180992
Kelas : A2 Sistem Informasi
Mk : Phyton Untuk Analisa Data
10 Menutes Pandas
Ini adalah pengenalan singkat tentang panda, yang ditujukan terutama untuk pengguna baru.
Anda dapat melihat resep yang lebih rumit di Cookbook.
Biasanya, kita mengimpor sebagai berikut:
Object Creation
Lihat di Intro to data structures section.
Membuat series dengan meneruskan daftar nilai, membiarkan panda membuat indeks bilangan bulat default:
Membuat DataFrame dengan meneruskan array NumPy, dengan indeks datetime menggunakan date_range() dan kolom berlabel:
Membuat DataFrame dengan meneruskan kamus objek yang dapat diubah menjadi struktur seperti seri:
Kolom DataFrame yang dihasilkan memiliki dtypes yang berbeda:
Jika Anda menggunakan IPython, penyelesaian tab untuk nama kolom (serta atribut publik) diaktifkan secara otomatis. Ini adalah bagian dari atribut yang akan diselesaikan:
Seperti yang Anda lihat, kolom A , B , C , dan D secara otomatis tab selesai. E dan F juga ada di sana; sisanya atribut telah dipotong agar singkatnya.
Viewing Data
Lihat di Basics section.
Gunakan DataFrame.head() dan DataFrame.tail() untuk melihat baris atas dan bawah frame masing-masing:
Menampilkan DataFrame.index atau DataFrame.columns :
DataFrame.to_numpy() memberikan representasi NumPy dari data yang mendasarinya. Perhatikan bahwa ini bisa menjadi operasi yang mahal DataFrame Anda memiliki kolom dengan tipe data berbeda, yang menjadi perbedaan mendasar antara panda dan NumPy: Array NumPy memiliki satu dtype untuk seluruh array, sedangkan panda DataFrame memiliki satu tipe d per kolom. Ketika kamu panggil DataFrame.to_numpy() , panda akan menemukan dtype NumPy yang dapat menampung semua dtype di DataFrame.
Ini mungkin akan berakhir menjadi object , yang mengharuskan pengecoran setiap nilai ke objek Python.
Untuk df , DataFrame kami yang berisi semua nilai floating-point,
dan DataFrame.to_numpy() cepat dan tidak memerlukan penyalinan data:
Untuk df2 , DataFrame dengan beberapa dtype, DataFrame.to_numpy() relatif mahal:
describe() menampilkan ringkasan statistik singkat data Anda:
Transposisi data Anda:
DataFrame.sort_index() mengurutkan berdasarkan sumbu:
DataFrame.sort_values() mengurutkan berdasarkan nilai:
Selection Getting
Memilih satu kolom, yang menghasilkan series , setara dengan df.A :
Memilih melalui [] ( __getitem__ ), yang mengiris baris:
Selection by Label
Lihat selengkapnya di Selection by Label menggunakan DataFrame.loc() atau DataFrame.at().
Untuk mendapatkan penampang menggunakan label:
Memilih pada multi-sumbu berdasarkan label:
Menampilkan pemotongan label, kedua titik akhir disertakan:
Pengurangan dimensi objek yang dikembalikan:
Untuk mendapatkan nilai scalar :
Untuk mendapatkan akses cepat ke skalar (setara dengan metode sebelumnya):
Selection by Position
Lihat selengkapnya di Selection by Position menggunakan DataFrame.iloc() atau DataFrame.at().
Pilih melalui posisi bilangan bulat yang diteruskan:
Dengan irisan bilangan bulat, bertindak mirip dengan NumPy/Python:
Berdasarkan daftar lokasi posisi bilangan bulat, mirip dengan gaya NumPy/Python:
Untuk mengiris baris secara eksplisit:
Untuk mengiris kolom secara eksplisit:
Untuk mendapatkan nilai secara eksplisit:
Untuk mendapatkan akses cepat ke skalar (setara dengan metode sebelumnya):
Boolen Indexing
Menggunakan nilai satu kolom untuk memilih data:
Memilih nilai dari DataFrame di mana kondisi boolean terpenuhi:
Menggunakan metode isin() untuk memfilter:
Setting
Menyetel kolom baru secara otomatis menyelaraskan data berdasarkan indeks:
Menetapkan nilai berdasarkan label:
Menetapkan nilai berdasarkan posisi:
Pengaturan dengan menugaskan dengan array NumPy:
Hasil dari operasi setting sebelumnya:
Operasi where dengan pengaturan:
Missing Data
Pandas terutama menggunakan nilai np.nan untuk mewakili data yang hilang. Ini secara default tidak disertakan dalam perhitungan. See the Missing Data section.
Pengindeksan ulang memungkinkan Anda mengubah/menambah/menghapus indeks pada sumbu tertentu. Ini mengembalikan salinan data:
DataFrame.dropna() menghapus baris apa pun yang datanya hilang:
DataFrame.fillna() mengisi data yang hilang:
isna() mendapatkan topeng boolean dengan nilai nan :
Operation
Lihat di Basic section on Binary Ops. Stats
Operasi secara umum mengecualikan data yang hilang.
Melakukan statistik deskriptif:
Operasi yang sama pada sumbu lainnya:
Beroperasi dengan objek yang memiliki dimensi berbeda dan memerlukan penyelarasan. Selain itu, panda otomatis ikut siaran dimensi yang ditentukan :
Apply
DataFrame.apply() menerapkan fungsi yang ditentukan pengguna ke data:
Lebih banyak di Histogramming and Discretization.
String Methods
Seri dilengkapi dengan seperangkat metode pemrosesan string dalam atribut str yang memudahkan pengoperasian pada setiap elemen array, seperti pada cuplikan kode di bawah ini. Perhatikan bahwa pencocokan pola di str umumnya digunakan regular expressions secara default (dan di beberapa case selalu menggunakannya).
Lihat selengkapnya di Vectorized String Methods.
Merge Concat
Pandas menyediakan berbagai fasilitas untuk dengan mudah menggabungkan objek Seri dan DataFrame dengan berbagai jenis logika yang ditetapkan untuknya indeks dan fungsionalitas aljabar relasional dalam kasus operasi tipe gabungan/penggabungan.
Lihat di Merging Section.
Menggabungkan objek panda bersama-sama sepanjang sumbu dengan concat() :
Join
merge() mengaktifkan tipe gabungan gaya SQL di sepanjang kolom tertentu. Lihat di bagian Database style joining.
Contoh lain yang dapat diberikan adalah:
Grouping
Yang kami maksud dengan “group by” adalah proses yang melibatkan satu atau lebih langkah berikut:
∙ Membagi data menjadi beberapa kelompok berdasarkan beberapa kriteria ∙ Menerapkan fungsi ke setiap grup secara mandiri
∙ Menggabungkan hasilnya ke dalam struktur data
Lihat di Grouping Section.
Mengelompokkan dan kemudian menerapkan fungsi sum() ke grup yang dihasilkan:
Pengelompokan berdasarkan beberapa kolom membentuk indeks hierarki, dan sekali lagi kita dapat menerapkan fungsi sum():
Reshaping
Lihat bagian tentang Hierarchical Indexing dan Reshaping.
Stack
stack() “compresess” level di kolom DataFrame:
Dengan DataFrame atau Seri "stacked" (memiliki MultiIndex sebagai index), operasi kebalikan dari stack() adalah unstack() , yang secara default menghapus tumpukan level terakhir:
Pivot Tables
Lihat di bagian Pivot Tables.
pivot tables() memutar DataFrame yang menentukan values, index, dan column:
Time Series
pandas memiliki fungsionalitas yang sederhana, kuat, dan efisien untuk melakukan operasi pengambilan sampel ulang selama konversi frekuensi (misalnya, mengubah data
kedua menjadi data 5 menit). Hal ini sangat umum terjadi, namun tidak terbatas pada, aplikasi keuangan. Lihat Time Section series.
Series.tz_localize() melokalkan deret waktu ke zona waktu:
Series.tz_convert() mengonversi rangkaian waktu yang sadar zona waktu ke zona waktu lain:
Mengonversi representasi rentang waktu:
Mengonversi antara periode dan stempel waktu memungkinkan beberapa fungsi aritmatika yang mudah digunakan. Dalam contoh berikut, kita mengonversi frekuensi triwulanan dengan tahun yang berakhir pada bulan November menjadi jam 9 pagi pada akhir bulan setelah akhir triwulan:
Categoricals
panda dapat menyertakan data kategorikal dalam DataFrame . Untuk dokumen lengkap, lihat categorical introduction dan API documentation.
Mengonversi nilai mentah menjadi tipe data kategorikal:
Ganti nama kategori menjadi nama yang lebih bermakna:
Susun ulang kategori dan secara bersamaan tambahkan kategori yang hilang (metode di bawah Series.cat() mengembalikan series baru menurut bawaan):
Penyortiran dilakukan per pesanan dalam kategori, bukan urutan leksikal: Pengelompokan berdasarkan kolom kategorikal juga memperlihatkan kategori kosong:
Pengelompokan berdasarkan kolom kategorikal juga memperlihatkan kategori kosong:
Plotting
Lihat di dokumen plotting.
Kami menggunakan konvensi standar untuk mereferensikan API matplotlib:
Metode plt.close digunakan untuk close jendela gambar:
Jika dijalankan di bawah Jupyter Notebook, plot akan muncul di plot(). Jika tidak, gunakan matplotlib.pyplot.show untuk menampilkannya atau matplotlib.pyplot.savefig untuk menulisnya ke file.
Pada DataFrame, metode plot() memudahkan untuk memplot semua kolom dengan label:
Importing and Exporting Data CSV
Writing to a CSV file menggunakan DataFrame.to_csv()
HDF5
Membaca dan menulis dengan HDFstores
Menulis ke HDF5 stores menggunakan DataFrame.to_hdf() :
Membaca dari HDF5 stores menggunakan read_hdf() :
Excel
Membaca dan menulis excel
Menulis ke file excel menggunakan DataFrame.to_excel() :
Membaca dari file excel menggunakan read_excel() :
Gotchas
Jika Anda mencoba melakukan operasi boolean pada sebuah series atau DataFrame Anda mungkin melihat pengecualian seperti: