首页 >后端开发 >Python教程 >如何使用'isin”和'sort_values”查找 Pandas DataFrame 中的所有重复项?

如何使用'isin”和'sort_values”查找 Pandas DataFrame 中的所有重复项?

Susan Sarandon
Susan Sarandon原创
2024-10-25 09:54:28707浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn