Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengeluarkan Pendua Berturut-turut dalam Panda?

Bagaimana untuk Mengeluarkan Pendua Berturut-turut dalam Panda?

Barbara Streisand
Barbara Streisandasal
2024-11-15 04:09:02216semak imbas

How to Remove Consecutive Duplicates in Pandas?

Mengalih keluar Pendua Berturut-turut dalam Panda

Walaupun kaedah drop_duplicates() Pandas berkesan untuk menghapuskan semua nilai pendua, ia tidak membezakan kejadian berturut-turut . Untuk menangani had ini, terdapat kaedah yang cekap untuk secara selektif menggugurkan pendua berturut-turut sahaja.

Satu pendekatan menggunakan fungsi anjakan untuk membandingkan nilai semasa dengan yang sebelumnya:

a.loc[a.shift() != a]

Logik ini kembali topeng di mana pendua berturut-turut dicirikan oleh nilai Palsu. Kaedah loc kemudian memilih hanya baris dengan nilai True, dengan berkesan mengalih keluar pendua berturut-turut.

Kaedah lain menggunakan fungsi diff untuk mengesan perubahan:

a.loc[a.diff() != 0]

Walau bagaimanapun, pendekatan ini kurang cekap untuk set data yang besar disebabkan oleh overhed yang dikaitkan dengan pengiraan pembezaan.

Kemas kini

Perlu diperhatikan bahawa tempoh peralihan lalai ialah 1, jadi shift() dan shift( 1) menghasilkan hasil yang setara:

a.loc[a.shift(1) != a]

Ini memastikan bahawa nilai berturut-turut pertama dikenal pasti dengan betul sebagai pendua.

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Pendua Berturut-turut dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn