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

在Pandas DataFrame中统计指定字段重复次数并新增计数列

统计Pandas DataFrame中date与cod组合的重复次数并新增计数列

正确实现方法

要给DataFrame新增count列存储date和cod组合的重复次数,最高效的方式是利用groupby结合transform,可以为每一行匹配对应分组的计数:

示例输入DataFrame

import pandas as pd

df = pd.DataFrame({
    'date': [20210127, 20210127, 20210126, 20210125],
    'cod': [29, 29, 26, 26],
    'type': ['A', 'B', 'C', 'D']
})

执行代码

# 方式1:基于指定字段计数
df['count'] = df.groupby(['date', 'cod'])['date'].transform('count')

# 方式2:直接统计分组大小(效果一致)
df['count'] = df.groupby(['date', 'cod']).transform('size')

最终结果

date  cod type  count
0  20210127   29    A      2
1  20210127   29    B      2
2  20210126   26    C      1
3  20210125   26    D      1

错误代码问题分析

你写的df['count'] = df.apply(lamba x: df.count() if date and cod)存在多处问题:

  • 拼写错误:lamba应为lambda
  • 字段引用错误:date and cod未指定是当前行的字段,需改为x['date']和x['cod'],但即便修正,逻辑依然错误
  • 计数逻辑错误:df.count()是统计整个DataFrame的非空值数量,并非date+cod组合的重复次数
  • 性能问题:apply逐行处理的效率远低于groupby+transform,不适合此类分组计数场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 17:15:46