You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中为重复行添加计数,替代仅删除重复行

为重复行添加重复计数的解决方案

你现在的代码只能删除重复行,要实现保留唯一行并添加重复计数,可以用以下两种方式修改:

方法一:分组统计后合并

import pandas as pd

data = [
    ['A','B','C'],
    ['A','B','C'],
    ['A','D','C'],
    ['A','D','C']
]

df = pd.DataFrame(data,columns=['x1','x2','x3'])
print(df)

# 按所有列分组,统计每组的行数(重复次数)
count_df = df.groupby(['x1','x2','x3']).size().reset_index(name='count')
# 保留原数据中首次出现的行,再合并计数信息
df1 = df.drop_duplicates(keep='first').merge(count_df, on=['x1','x2','x3'])
print(df1)

方法二:用transform直接添加计数列

import pandas as pd

data = [
    ['A','B','C'],
    ['A','B','C'],
    ['A','D','C'],
    ['A','D','C']
]

df = pd.DataFrame(data,columns=['x1','x2','x3'])
print(df)

# 给每一行添加对应组的重复次数
df['count'] = df.groupby(['x1','x2','x3'])['x1'].transform('size')
# 只保留每组首次出现的行
df1 = df.drop_duplicates(keep='first')
print(df1)

输出结果

原数据输出:

x1 x2 x3
0  A  B  C
1  A  B  C
2  A  D  C
3  A  D  C

处理后的输出:

x1 x2 x3  count
0  A  B  C      2
2  A  D  C      2

内容的提问来源于stack exchange,提问作者lucky1928

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 00:22:23