21 Kiat Panda yang Harus Diketahui Setiap Data Scientist – Menuju AI

21 Kiat Panda yang Harus Diketahui Setiap Data Scientist – Menuju AI

Maksimalkan Keterampilan Panda Anda: Tip dan Trik Penting untuk Menguasai Manipulasi Data

Foto oleh Pascal Müller di Unsplash

Baik Anda seorang pemula atau seorang analis data berpengalaman, 21 tip dan trik yang dibahas dalam artikel ini akan membantu Anda menangani tugas analitik apa pun dengan mudah. Dari menulis kode bersih hingga menghindari menciptakan kembali roda, tips ini akan membantu Anda bekerja lebih cerdas, bukan lebih keras. Temukan permata tersembunyi Panda dan jadilah pengguna ahli dalam waktu singkat. Dan jika Anda memiliki tips tambahan untuk dibagikan, jangan ragu untuk memberikan komentar.

Sebagian besar tip berasal dari

Postingan LinkedIn.

1: Cetak DataFrame dalam format ramah penurunan harga

Penurunan harga adalah bahasa markup ringan yang digunakan untuk membuat teks yang diformat menggunakan editor teks biasa. Terkadang, Anda mungkin ingin menyertakan tabel dalam penurunan harga, seperti GitHub README atau Lateks.

Jika Anda ingin mencetak DataFrame dalam format penurunan harga, gunakan fungsi to_markdown().

| | sebuah | b | |—:|—-:|—-:| | 0 | 1 | 5 | | 1 | 2 | 6 | | 2 | 3 | 7 | | 3 | 4 | 8 | +—-+—–+—–+ | | sebuah | b | +====+=======+=======+ | 0 | 1 | 5 | +—-+—–+—–+ | 1 | 2 | 6 | +—-+—–+—–+ | 2 | 3 | 7 | +—-+—–+—–+ | 3 | 4 | 8 | +—-+—–+—–+

2: Kelompokkan baris ke dalam daftar

Adalah umum untuk menggunakan groupby untuk mendapatkan statistik baris dalam grup yang sama, seperti count, mean, median, dll. Jika Anda ingin mengelompokkan baris ke dalam daftar, gunakan “lambda x: list(x)”.

col1 col3 col2 a 1.5 [d, e]b 3.5 [f, g]c 3.0 [h]

3: DataFrame.meledak()

Saat bekerja dengan DataFrame, jika Anda ingin mengubah string menjadi daftar lalu membagi elemen dalam daftar menjadi beberapa baris, gunakan kombinasi str.split() dan meledak().

ab 0 [1, 2] 11 1 [4, 5] 13 a b 0 1 11 0 2 11 1 4 13 1 5 13

4: DataFrame.copy()

Pernahkah Anda mencoba membuat salinan pengguna DataFrame “=”? Anda tidak akan mendapatkan salinan tetapi referensi ke DataFrame asli. Jadi, mengubah DataFrame baru juga akan mengubah DataFrame asli.

Cara yang lebih baik untuk membuat salinan adalah dengan menggunakan df.copy(). Sekarang, mengubah salinan tidak akan memengaruhi DataFrame asli.

col1 col2 0 7 4 1 8 5 2 9 6 col1 col2 0 1 4 1 2 5 2 3 6

5: Groupby().count vs Groupby( ).size

Jika Anda ingin mendapatkan hitungan elemen dalam satu kolom Pandas DataFrame, gunakan groupby dan count. Jika Anda ingin mendapatkan ukuran grup yang terdiri dari 2 kolom atau lebih, gunakan groupby dan size sebagai gantinya. col2 col1 a 1 b 2 c 2 d 1 col1 col2 a S 1 b M 1 S 1 c L 2 d L 1 tipe: int64

6: Korelasi

Jika Anda ingin menghitung korelasi antara baris atau kolom dari dua DataFrame, gunakan .corrwith().

a 0,94388 b 0,68313 tipe: float64

7: Tabulasi Silang

Tabulasi silang memungkinkan Anda untuk menganalisis hubungan antara banyak variabel. Untuk mengubah Pandas DataFrame menjadi tabulasi silang, gunakan pandas.crosstab().

orang2 Ben Jone Patrick Smith Warren orang1 Ben 0 0 1 1 0 Jone 0 0 0 0 1 Patrick 1 0 0 1 0 Smith 1 0 1 0 1 Warren 0 1 0 1 0

8: DataFrame.query()

Memfilter kolom panda DataFrame bisa memakan waktu lama menggunakan tanda kurung. Untuk mempersingkat pernyataan pemfilteran, gunakan df.query() sebagai gantinya.

buah harga 2 anggur 6 3 anggur 7 buah harga 2 anggur 6 3 anggur 7

9: Buka Pivot DataFrame

Jika Anda ingin membatalkan pivot DataFrame dari format lebar ke panjang, gunakan pandas.melt(). Misalnya, Anda dapat menggunakan pandas.melt() untuk mengubah banyak kolom (“Aldi”, “Walmart”, “Costco”) menjadi nilai satu kolom (“toko”). buah Aldi Walmart Costco 0 apel 4 6 1 1 jeruk 5 7 2 nilai toko buah 0 apel Aldi 4 1 jeruk Aldi 5 2 apel Walmart 6 3 jeruk Walmart 7 4 apel Costco 1 5 jeruk Costco 2

10: Ganti nama kolom gabungan

Secara default, menggabungkan kolom mengembalikan nama kolom tersebut.

Jika Anda ingin menetapkan nama baru ke agregasi, gunakan name = (column, agg_method).

harga size L 19.000 M 10.000 S 36.995 mean_harga size L 19.000 M 10.000 S 36.995

11: Jumlah Nilai Normalisasi

Jika Anda ingin mendapatkan hitungan nilai dalam kolom, gunakan value_counts. Namun, jika Anda ingin mendapatkan persentase nilai dalam kolom, tambahkan normalize=True ke value_counts. S 4 M 2 L 1 XL 1 dtype: int64 S 0.500 M 0.250 L 0.125 XL 0.125 dtype: float64

12: df.transform() bukannya df.count()

Untuk memfilter panda DataFrame berdasarkan kemunculan kategori, Anda dapat mencoba menggunakan df.groupby dan df.count. Namun, karena Seri yang dikembalikan oleh metode hitungan lebih pendek dari DataFrame asli, Anda akan mendapatkan kesalahan saat memfilter. Alih-alih menggunakan hitungan, gunakan transformasi. Metode ini akan mengembalikan Seri dengan panjang yang sama dengan DataFrame asli. Sekarang Anda dapat memfilter tanpa menemui kesalahan apa pun. ketik nilai 0 A 5 1 A 3 2 O 2 4 O 7 5 A 3

13: Isi Nilai Null

Jika Anda ingin mengisi nilai null dalam satu DataFrame dengan nilai non-null di lokasi yang sama dari DataFrame lain, gunakan pandas.DataFrame.combine_first. Pada kode di bawah ini, nilai pada baris pertama store1 diperbarui dengan nilai pada baris pertama store2. jeruk apel 0 31,0 4,0 1 5,0 71,0 2 9,0 12,0

14: Nilai Menghitung Nilai yang Hilang

Secara default, pandas.value_counts() mengabaikan nilai yang hilang. Lulus dropna=False untuk menghitung nilai yang hilang.

15: Filter Kolom di DataFrame

Jika Anda ingin memfilter kolom DataFrame panda berdasarkan karakter dalam namanya, gunakan DataFrame.filter. Ini bisa berguna jika Anda membuat variabel dummy dan Anda ingin memilih kolom berdasarkan awalan.

Derajat Suhu 0 Panas 35 1 Dingin 3 2 Hangat 15 3 Dingin 2 Derajat Suhu_Dingin Suhu_Panas Suhu_Hangat 0 35 0 1 0 1 3 1 0 0 2 15 0 0 1 3 2 1 0 0 Suhu_Dingin Suhu_Panas Suhu_Hangat 0 0 1 0 1 1 0 0 2 0 0 1 3 1 0 0

16: Konversi Tipe Data Secara Otomatis

Jika Anda tidak mengetahui tipe kolom di DataFrame, Anda dapat menggunakan convert_dtypes() untuk mengonversi kolom dengan cepat menjadi tipe terbaik.

17: Tetapkan kolom baru ke DataFrame

Gunakan metode Dataframe.assign() untuk menetapkan kolom baru ke DataFrame Anda, Dataframe.assign() mengembalikan objek baru (salinan) dengan kolom baru ditambahkan ke yang asli. Kolom yang sudah ada yang ditetapkan ulang akan ditimpa.

teks text_len word_count akhir pekan 0 sabtu: akhir pekan (bukan hari kerja) 35 5 Benar 1 minggu: akhir pekan (bukan hari kerja) 33 5 Benar 2 senin: janji dengan dokter pada 14:45. 37 5 Salah 3 selasa: janji dengan dokter gigi jam 11:30. 41 6 Salah 4 rabu: pertandingan basket jam 19:00 36 5 Salah 5 kamis: pulang jam 23:15. 32 6 Salah 6 jumat: naik kereta jam 08:10. 35 7 Salah

18: Membaca Tabel HTML

.read_html() dapat berguna untuk menggabungkan tabel dengan cepat dari berbagai situs web tanpa mengetahui cara mengorek HTML situs.

Tahun Kantor GOP DFL Lainnya 0 2020 Presiden 45,3% 52,4% 2,3% 1 Senator 2020 43,5% 48,8% 7,7% 2 Gubernur 2018 42,4% 53,9% 3,7% 3 Senator 2018 36,2% 60,3% 3,4% 4 Senator 2018 42,4% 53,4% Lokasi Juli (°F) Juli (°C) Januari (°F) Januari (°C) 0 Minneapolis 83/64 28/18 23/7 −4/−13 1 Santo Paulus 83/63 28/17 23/6 − 5/−14 2 Rochester 82/63 28/17 23/3 −5/−16 3 Duluth 76/55 24/13 19/1 −7/−17 4 St. Cloud 81/58 27/14 18/−1 −7/−18

19: ‘terbesar’ dan ‘terkecil’

Gunakan .nlargest() dan .nsmallest() untuk mengurutkan kolom di DataFrame berdasarkan kolom tertentu alih-alih menggunakan .sort_values()

Tautan Data: Peringkat IMDB

20: Buat Kolom Peringkat

Metode Pandas DataFrame.rank() mengembalikan peringkat dari setiap indeks masing-masing dari seri yang diteruskan. Pangkat dikembalikan berdasarkan posisi setelah penyortiran.

Dalam contoh berikut, kolom Peringkat baru dibuat, yang memeringkat Siswa berdasarkan Nilainya.

Nilai Siswa 0 John 80 1 Smith 56 2 Patrick 95 3 Bob 75 4 Jose 45 Siswa Nilai Peringkat 0 John 80 2,0 1 Smith 56 4,0 2 Patrick 95 1,0 3 Bob 75 3,0 4 Jose 45 5,0

21: Nilai Warna dalam DataFrame

Penataan warna menambah keterbacaan bagi pengguna akhir. Panda memiliki properti gaya yang mengikuti kita untuk menerapkan gaya berbeda ke DataFrames.

Kesimpulan:

Pandas adalah pustaka sumber terbuka yang kuat, fleksibel, dan mudah digunakan untuk analisis dan manipulasi data, dibangun di atas dasar pemrograman Python. Menjadi ahli Panda dapat secara signifikan meningkatkan keterampilan analisis data Anda, dan mengetahui praktik terbaik dapat menghemat banyak waktu dan tenaga. Dengan kinerjanya yang cepat dan sintaksis yang intuitif, Pandas adalah pilihan utama bagi ilmuwan data dan analis di seluruh dunia. Dengan menguasai Panda, Anda akan dapat memanipulasi, menganalisis, dan memvisualisasikan data dengan mudah, memberi Anda keuntungan yang signifikan di dunia berbasis data saat ini.

Author: Jeffrey Hayes