使用「isin」和「sort_values」列出Pandas DataFrame 中的所有重複項
在本文中,我們將解決此問題尋找可能包含匯出錯誤的項目清單中的所有重複項目。我們的目標是檢索這些重複項的完整列表,以進行手動比較和故障排除。
pandas 的「重複」方法預設只傳回重複值的第一個實例。但是,使用「isin」和「sort_values」的組合,我們可以顯示與重複ID 相關的所有行:
<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>
此方法列出了DataFrame 中「ID」列包含以下任意內容的所有行: ID 被標記為重複。輸出消除了重複的行,確保每個重複的 ID 只出現一次。
替代方法:使用'groupby' 和'concat' 按ID 分組
另一種方法涉及按「ID」對DataFrame 進行分組,然後將這些群組與多行連接:
<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>
此方法檢索所有重複項,再次排除每個重複組中的重複項。預設情況下,「concat」函數垂直附加重複的群組。
以上是如何使用「isin」和「sort_values」來尋找 Pandas DataFrame 中的所有重複項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!