Penulis artikel, terjemahan yang kami terbitkan hari ini, mengatakan bahwa ketika ia mengetahui tentang metode perpustakaan Pandas yang ingin ia bicarakan di sini, ia merasa seperti seorang programmer yang sama sekali tidak kompeten. Mengapa Faktanya adalah ketika dia menulis kode sebelumnya, dia terlalu malas untuk melihat ke dalam mesin pencari dan mencari tahu apakah ada beberapa cara efektif untuk menyelesaikan beberapa masalah. Akibatnya, ia bahkan tidak tahu tentang keberadaan sejumlah metode Pandas yang sangat berguna. Tanpa menggunakan metode ini, ia masih dapat menerapkan logika yang diperlukan, tetapi ini membutuhkannya beberapa jam kerja, yang membuatnya gugup. Dan tentu saja, di sepanjang jalan, dia menulis banyak kode yang tidak perlu. Dia menyiapkan artikel ini untuk mereka yang tidak ingin berada dalam situasinya.

Metode idxmin () dan idxmax ()
Saya sudah
menulis tentang metode
idxmin()
dan
idxmax()
, tetapi jika saya tidak membicarakannya di sini, tidak akan mudah bagi Anda untuk memahami apa yang akan kita bahas selanjutnya.
Metode-metode ini, jika Anda menggambarkannya secara singkat, kembalikan indeks (posisi pointer) untuk catatan yang diinginkan. Misalkan saya membuat objek
Series
Panda berikut.
x = pd.Series ([ 1, 3, 2, 8, 124, 4, 2, 1 ])
Saya perlu menemukan indeks elemen minimum dan maksimum. Tentu saja, tidak sulit untuk mencari tahu hanya dengan melihat deskripsi objek, tetapi dalam proyek nyata tidak pernah (persis seperti itu - "tidak pernah") tidak memenuhi set data yang terdiri dari sejumlah kecil elemen.
Apa yang harus dilakukan Gunakan metode
idxmin()
dan
idxmax()
. Begini tampilannya:
Dengan menggunakan metode ini, Anda tidak boleh lupa bahwa mereka mengembalikan indeks kemunculan pertama dari nilai minimum atau maksimum.
Metode Ne ()
Metode
ne()
adalah penemuan besar bagi saya. Beberapa waktu yang lalu, saya bekerja dengan data time series dan mengalami masalah ketika pengamatan pertama adalah 0.
Bayangkan Anda membeli sesuatu, tetapi tidak mengkonsumsinya untuk jangka waktu tertentu. Apa yang Anda beli adalah yang Anda inginkan, tetapi karena Anda tidak menggunakannya, tingkat konsumsi ini pada tanggal tertentu adalah 0. Karena saya tertarik pada data tentang konsumsi yang diperoleh ketika penggunaan sebenarnya dari apa yang dimulai “ dibeli ”, ternyata metode
ne()
tepat seperti yang saya butuhkan.
Pertimbangkan skenario berikut. Kami memiliki objek
DataFrame
Pandas, yang berisi hasil dari beberapa pengamatan, yang, di bagian atas daftar, diwakili oleh nilai 0.
df = pd.DataFrame()
Metode
ne()
akan mengembalikan
True
hanya jika nilai saat ini bukan yang ditentukan ketika metode ini dipanggil (misalnya, ketika dipanggil, nilai 0 dapat ditentukan), jika tidak maka akan mengembalikan
False
:
df['X'].ne(0)
Metode ini sendiri tidak dapat disebut sangat berguna. Sekarang ingat bagaimana di awal artikel saya mengatakan bahwa untuk memahami artikel Anda perlu membiasakan diri dengan metode
idxmax()
. Saya tidak bercanda saat itu. Anda dapat melampirkan panggilan
idxmax()
ke panggilan
ne()
. Hasilnya adalah sebagai berikut:
df['X'].ne(0).idxmax()
Ini memberi tahu kita bahwa hasil pengamatan non-nol pertama ada di posisi 6. Sekali lagi, ini mungkin tidak tampak seperti penemuan yang penting. Tetapi yang paling penting di sini adalah bahwa informasi ini dapat digunakan untuk memilih subset dari objek
DataFrame
dan untuk menampilkan hanya nilai-nilai yang muncul mulai dari posisi yang terdeteksi:
df.loc[df['X'].ne(0).idxmax():]
Teknik ini sangat berguna dalam banyak situasi di mana Anda harus bekerja dengan data deret waktu.
Metode Nsmallest () dan nlargest ()
Saya menduga bahwa hanya setelah melihat nama-nama metode ini, Anda dapat menebak tujuannya. Misalkan saya membuat
DataFrame
berikut:
df = pd/DataFrame({ 'Name': ['Bob', 'Mark', 'Steph', 'Jess', 'Becky'], 'Points': [55, 98, 46, 77, 81] })
Untuk membuatnya lebih menarik, anggaplah inilah hasil ujian yang beberapa siswa lewati. Kami ingin menemukan tiga siswa yang melakukan ujian terburuk:
df.nsmallest(3, 'Points')
Atau - cari tahu siapa yang berada di tiga teratas:
df.nlargest(3, 'Points')
Metode-metode ini adalah pengganti yang sangat baik untuk metode seperti
sort_values()
.
Ringkasan
Di sini kami melihat beberapa metode Pandas yang berguna. Bagi mereka yang tahu tentang mereka, aplikasi mereka mungkin tampak benar-benar alami, tetapi bagi mereka yang baru belajar tentang mereka, mereka mungkin terlihat seperti temuan nyata. Kami berharap mereka melayani Anda dengan baik.
Pembaca yang budiman! Tahu beberapa metode Pandas yang berguna yang mungkin tidak diketahui orang lain?
