Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengenalpasti Semua Baris Pendua dalam Pandas DataFrame?

Bagaimana untuk Mengenalpasti Semua Baris Pendua dalam Pandas DataFrame?

Barbara Streisand
Barbara Streisandasal
2024-10-25 15:15:02986semak imbas

How to Identify All Duplicate Rows in a Pandas DataFrame?

Bagaimanakah Saya Mendapatkan Senarai Semua Item Pendua Menggunakan Panda dalam Python?

Masalah:

DataFrame Pandas anda mengandungi baris pendua, tetapi menggunakan kaedah pendua() hanya mengembalikan contoh pendua yang pertama. Anda inginkan senarai komprehensif semua kejadian baris pendua untuk perbandingan manual.

Penyelesaian 1: Asingkan Baris dengan ID Pendua

  1. Import Panda sebagai pd.
  2. Baca data anda ke dalam df DataFrame.
  3. Ekstrak lajur ID ke dalam id Siri yang berasingan.
  4. Tapis df berdasarkan sama ada nilai ID sepadan dengan mana-mana ID pendua dalam id[ids.duplicated()]:
<code class="python">df[ids.isin(ids[ids.duplicated()])].sort_values("ID")</code>

Walaupun kaedah ini berkesan mendapatkan semula semua baris pendua, kaedah ini mencipta baris ID pendua dalam output.

Penyelesaian 2 : Kumpulan mengikut ID dan Tapis untuk Pendua

  1. Gunakan groupby("ID") pada df untuk mengumpulkan baris mengikut nilai ID mereka.
  2. Tapis kumpulan yang terhasil untuk mengekalkan sahaja yang mempunyai lebih daripada satu baris:
<code class="python">pd.concat(g for _, g in df.groupby("ID") if len(g) > 1)</code>

Pendekatan ini menghasilkan output yang diperkemas tanpa baris ID yang berlebihan.

Atas ialah kandungan terperinci Bagaimana untuk Mengenalpasti Semua Baris Pendua dalam Pandas DataFrame?. 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