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

使用Pandas按周分组聚合:多列统计与value1频次统计报错解决

解决按周分组聚合的错误及实现需求

错误原因

你调用pd.Series.value_counts()作为聚合函数时出错,是因为这是类的未绑定方法,需要传入具体的Series实例才能执行,而agg函数需要的是能接收组内数据作为参数的可调用对象。

正确实现代码

import pandas as pd
import numpy as np

# 生成测试DataFrame
df = pd.DataFrame({'date': pd.date_range('2020-01-01', '2020-01-31', freq='D'), 
                   'value1': np.random.randint(0, 10, 31), 
                   'value2': np.random.randint(0, 100, 31),
                   'value3': np.random.randint(0, 1000, 31)})

# 按周分组并执行指定聚合操作
result = df.groupby(pd.Grouper(key='date', freq='W'))\
    .agg(
        value2=('value2', 'mean'),
        value3=('value3', 'size'),  # 统计组内总条数,若要统计非空值用'count'
        value_1=('value1', lambda x: x.value_counts().to_dict())
    ).reset_index()

print(result)

代码说明

  • value2平均值:直接使用'mean'聚合函数计算组内均值。
  • value3计数:用'size'统计组内所有行的数量(和你的期望输出匹配);如果需要统计value3列的非空值数量,替换为'count'即可。
  • value1频次统计:通过lambda函数对每组的value1数据调用value_counts(),再转成字典格式,得到每个唯一值的出现频次。

内容的提问来源于stack exchange,提问作者Jonas Palačionis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 12:15:32