首頁 > 後端開發 > Python教學 > 如何使用「isin」和「sort_values」來尋找 Pandas DataFrame 中的所有重複項?

如何使用「isin」和「sort_values」來尋找 Pandas DataFrame 中的所有重複項?

Susan Sarandon
發布: 2024-10-25 09:54:28
原創
715 人瀏覽過

How to Find All Duplicate Items in a Pandas DataFrame Using 'isin' and 'sort_values'?

使用「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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板