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