问题
查询df中重复的记录,输出结果将显示每个相同记录的行数以及所处的行数,注意
1、可能会有记录重复多条的情况;
2、要求中输出结果显示所处的行数为原始数据中的行数
回答
要查找DataFrame(假设使用Python的Pandas库)中的重复记录,并显示每个相同记录的行数以及所处的行数,你可以使用以下方法:
import pandas as pd
# 创建一个示例DataFrame(你需要替换成你自己的DataFrame)
data = {'A': [1, 2, 3, 2, 4, 1, 3, 5],
'B': ['foo', 'bar', 'baz', 'bar', 'qux', 'foo', 'baz', 'qux']}
df = pd.DataFrame(data)
# 找到重复记录
duplicates = df[df.duplicated(keep=False)]
# 创建一个空字典来存储结果
result = {}
# 遍历重复记录并记录其行数
for idx, row in duplicates.iterrows():
key = tuple(row)
if key in result:
result[key].append(idx)
else:
result[key] = [idx]
# 打印结果
for key, rows in result.items():
print(f"记录 {key} 重复 {len(rows)} 次,行数为 {', '.join(map(str, rows))}")
这段代码首先找到DataFrame中的重复记录,然后创建一个字典来存储重复记录及其所在的行数。最后,它打印出每个重复记录的行数和所处的行数,确保所处的行数是原始数据中的行数。
评论区