侧边栏壁纸
博主头像
fastjrun博主等级

前大厂工程师,长期从事 Java 开发,架构设计,容器化等相关工作,精通java,熟练使用maven、jenkins等devops相关工具链,擅长容器化方案规划、设计和落地。

  • 累计撰写 70 篇文章
  • 累计创建 47 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

查询并统计df中重复记录的行数和所处行数

fastjrun
2023-10-29 / 0 评论 / 0 点赞 / 223 阅读 / 368 字 / 正在检测是否收录...

问题

查询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中的重复记录,然后创建一个字典来存储重复记录及其所在的行数。最后,它打印出每个重复记录的行数和所处的行数,确保所处的行数是原始数据中的行数。

0

评论区