panda

Cara Menjatuhkan Baris Pendua di Pandas Python

Cara Menjatuhkan Baris Pendua di Pandas Python
Python adalah salah satu bahasa pengaturcaraan yang paling popular untuk analisis data dan juga menyokong pelbagai pakej data-centric Python. Pakej Pandas adalah beberapa pakej Python yang paling popular dan boleh diimport untuk analisis data. Di hampir semua kumpulan data, baris pendua sering wujud, yang boleh menyebabkan masalah semasa analisis data atau operasi aritmetik. Pendekatan terbaik untuk analisis data adalah mengenal pasti sebarang baris yang digandakan dan mengeluarkannya dari set data anda. Dengan menggunakan fungsi drop_duplicates () Pandas, anda dapat menjatuhkan, atau membuang, pendua rekod dengan mudah dari bingkai data.
Artikel ini menunjukkan kepada anda cara mencari pendua dalam data dan membuang pendua menggunakan fungsi Pandas Python.

Dalam artikel ini, kami telah mengambil kumpulan data populasi dari berbagai negeri di Amerika Syarikat, yang tersedia di a .format fail csv. Kami akan membaca .fail csv untuk menunjukkan kandungan asal fail ini, seperti berikut:

import panda sebagai pd
df_state = pd.read_csv ("C: / Pengguna / DELL / Desktop / populasi_ds.csv ")
cetak (df_state)

Dalam tangkapan skrin berikut, anda dapat melihat kandungan pendua fail ini:

Mengenal pasti Pendua di Pandas Python

Anda perlu menentukan sama ada data yang anda gunakan mempunyai baris pendua. Untuk memeriksa penduaan data, anda boleh menggunakan salah satu kaedah yang dibahas di bahagian berikut.

Kaedah 1:

Baca fail csv dan masukkan ke dalam kerangka data. Kemudian, kenal pasti baris pendua menggunakan didua () fungsi. Akhirnya, gunakan pernyataan cetak untuk memaparkan baris pendua.

import panda sebagai pd
df_state = pd.read_csv ("C: / Pengguna / DELL / Desktop / populasi_ds.csv ")
Dup_Rows = df_state [df_state.digandakan ()]
cetak ("\ n \ nDuplikasi Baris: \ n ".format (Dup_Rows))

Kaedah 2:

Dengan menggunakan kaedah ini, digandakan lajur akan ditambahkan ke hujung jadual dan ditandakan sebagai 'Benar' sekiranya baris digandakan.

import panda sebagai pd
df_state = pd.read_csv ("C: / Pengguna / DELL / Desktop / populasi_ds.csv ")
df_state ["is_duplicate"] = df_state.didua ()
cetak ("\ n ".format (df_state))

Menjatuhkan Pendua di Pandas Python

Baris pendua dapat dikeluarkan dari kerangka data anda menggunakan sintaks berikut:
drop_duplicates (subset = ", keep =", inplace = False)
Tiga parameter di atas adalah pilihan dan dijelaskan dengan lebih terperinci di bawah:
simpan: parameter ini mempunyai tiga nilai yang berbeza: Pertama, Terakhir dan Salah. Nilai Pertama menyimpan kejadian pertama dan membuang pendua berikutnya, Nilai terakhir menyimpan hanya kejadian terakhir dan membuang semua pendua sebelumnya, dan Nilai Salah membuang semua baris pendua.
subset: label yang digunakan untuk mengenal pasti baris pendua
di tempat: mengandungi dua syarat: Betul dan Salah. Parameter ini akan menghilangkan baris pendua jika disetel ke True.

Buang Pendua Hanya Mengekalkan Kejadian Pertama

Apabila anda menggunakan "keep = first", hanya kejadian baris pertama yang akan disimpan, dan semua pendua yang lain akan dikeluarkan.

Contohnya

Dalam contoh ini, hanya baris pertama yang akan disimpan, dan baki pendua yang akan dihapuskan:

import panda sebagai pd
df_state = pd.read_csv ("C: / Pengguna / DELL / Desktop / populasi_ds.csv ")
Dup_Rows = df_state [df_state.digandakan ()]
cetak ("\ n \ nDuplikasi Baris: \ n ".format (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (simpan = 'pertama')
cetak ('\ n \ nResult DataFrame setelah penghapusan pendua: \ n', DF_RM_DUP.kepala (n = 5))

Pada tangkapan skrin berikut, kejadian baris pertama yang dikekalkan diserlahkan dengan warna merah dan pendua yang tersisa dikeluarkan:

Buang Pendua Yang Menyimpan Hanya Kejadian Terakhir

Apabila anda menggunakan "keep = last", semua baris pendua kecuali kejadian terakhir akan dikeluarkan.

Contohnya

Dalam contoh berikut, semua baris pendua dikeluarkan kecuali hanya kejadian terakhir.

import panda sebagai pd
df_state = pd.read_csv ("C: / Pengguna / DELL / Desktop / populasi_ds.csv ")
Dup_Rows = df_state [df_state.digandakan ()]
cetak ("\ n \ nDuplikasi Baris: \ n ".format (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (simpan = 'terakhir')
cetak ('\ n \ nResult DataFrame setelah penghapusan pendua: \ n', DF_RM_DUP.kepala (n = 5))

Dalam gambar berikut, pendua dikeluarkan dan hanya kejadian baris terakhir yang disimpan:

Buang Semua Baris Pendua

Untuk membuang semua baris pendua dari jadual, tetapkan “keep = False,” seperti berikut:

import panda sebagai pd
df_state = pd.read_csv ("C: / Pengguna / DELL / Desktop / populasi_ds.csv ")
Dup_Rows = df_state [df_state.digandakan ()]
cetak ("\ n \ nDuplikasi Baris: \ n ".format (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (simpan = Salah)
cetak ('\ n \ nResult DataFrame setelah penghapusan pendua: \ n', DF_RM_DUP.kepala (n = 5))

Seperti yang anda lihat pada gambar berikut, semua pendua dikeluarkan dari kerangka data:

Buang Pendua Berkaitan dari Lajur yang Ditentukan

Secara lalai, fungsi memeriksa semua baris pendua dari semua lajur dalam bingkai data yang diberikan. Tetapi, anda juga boleh menentukan nama lajur dengan menggunakan parameter subset.

Contohnya

Dalam contoh berikut, semua pendua yang berkaitan dikeluarkan dari lajur 'Negeri'.

import panda sebagai pd
df_state = pd.read_csv ("C: / Pengguna / DELL / Desktop / populasi_ds.csv ")
Dup_Rows = df_state [df_state.digandakan ()]
cetak ("\ n \ nDuplikasi Baris: \ n ".format (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (subset = 'Negeri')
cetak ('\ n \ nResult DataFrame setelah penghapusan pendua: \ n', DF_RM_DUP.kepala (n = 6))

Kesimpulannya

Artikel ini menunjukkan kepada anda cara menghapus baris pendua dari kerangka data menggunakan drop_duplikat () berfungsi di Pandas Python. Anda juga dapat menghapus data pendua atau kelebihan menggunakan fungsi ini. Artikel itu juga menunjukkan kepada anda cara mengenal pasti pendua dalam kerangka data anda.

5 Permainan Arcade Terbaik untuk Linux
Pada masa kini, komputer adalah mesin serius yang digunakan untuk permainan. Sekiranya anda tidak dapat memperoleh skor tinggi baru, anda akan tahu ma...
Battle For Wesnoth 1.13.6 Pembangunan Dikeluarkan
Battle For Wesnoth 1.13.6 dilancarkan bulan lalu, adalah rilis pengembangan keenam di 1.13.siri x dan memberikan sejumlah penambahbaikan, terutamanya ...
Cara Memasang League Of Legends di Ubuntu 14.04
Sekiranya anda peminat League of Legends, maka ini adalah peluang bagi anda untuk menguji menjalankan League of Legends. Perhatikan bahawa LOL disokon...