Menyenaraikan Semua Item Pendua dalam Pandas DataFrame Menggunakan 'isin' dan 'sort_values'
Dalam artikel ini, kami akan menangani isu tersebut mencari semua item pendua dalam senarai item yang mungkin mengandungi ralat eksport. Matlamat kami adalah untuk mendapatkan semula senarai komprehensif pendua ini untuk perbandingan manual dan penyelesaian masalah.
Kaedah panda 'pendua' hanya mengembalikan contoh pertama nilai pendua secara lalai. Walau bagaimanapun, menggunakan gabungan 'isin' dan 'sort_values', kami boleh memaparkan semua baris yang dikaitkan dengan ID pendua:
<code class="python"># Import the pandas library import pandas as pd # Read the data from the CSV file df = pd.read_csv('dup.csv') # Extract the 'ID' column ids = df['ID'] # Use 'isin' to filter for rows where the 'ID' matches any of the duplicate IDs df[ids.isin(ids[ids.duplicated()])].sort_values('ID')</code>
Kaedah ini menyenaraikan semua baris daripada DataFrame di mana lajur 'ID' mengandungi mana-mana ID dibenderakan sebagai pendua. Output menghapuskan baris pendua, memastikan setiap ID pendua muncul sekali sahaja.
Kaedah Alternatif: Pengumpulan mengikut ID dengan 'groupby' dan 'concat'
Pendekatan alternatif melibatkan pengumpulan DataFrame mengikut 'ID' dan kemudian menggabungkan kumpulan dengan lebih daripada satu baris:
<code class="python"># Group the DataFrame by 'ID' groups = df.groupby('ID') # Identify groups with more than one row large_groups = [group for _, group in groups if len(group) > 1] # Concatenate the large groups pd.concat(large_groups)</code>
Kaedah ini mendapatkan semula semua item pendua, sekali lagi tidak termasuk pendua dalam setiap kumpulan pendua. Secara lalai, fungsi 'concat' menambahkan kumpulan pendua secara menegak.
Atas ialah kandungan terperinci Bagaimana untuk Cari Semua Item Pendua dalam Pandas DataFrame Menggunakan \'isin\' dan \'sort_values\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!