python - pandas 重新采样时间序列数据 - 同一列上有多个聚合函数?

标签 python pandas

我有每日时间序列数据,我将其重新采样为每周数据并对“销售额”列进行求和:

df_weekly = df.resample('W', on='TransxDate').agg({'sales': 'sum'})

如何获得销售“计数”?如果我使用

df_weekly = df.resample('W', on='TransxDate').agg({'sales': 'sum', 'sales': 'count'})

我只得到计数。如果我颠倒顺序,我只能得到总和。我怀疑问题在于多个函数使用相同的列名。有没有办法指定输出列名称,以便我可以在同一列上执行多个聚合函数?或者其他解决方案?

最佳答案

试试这个:

df.resample('W', on='TransxDate')['sales'].agg(['sum', 'count'])

或者您可以创建一个多级索引,其中列聚合,然后功能作为级别 1。通过使用双括号 [[]]

df.resample('2M', on='Date1')[['Number']].agg(['sum', 'count'])

关于python - pandas 重新采样时间序列数据 - 同一列上有多个聚合函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68153585/

相关文章:

python - 如何以正确的列对齐方式将字典转储到 .xlsx 文件中?

python - Flask 和 Pandas ExcelWriter 不使用 BytesIO 更改列格式

python - pandas:通过将类方法应用于另一列(包含类)来填充列

python - groupby、apply 和 set 没有按预期运行……这是一个错误吗?

python - 如果您有数字间隔,请计算分组中位数

python - Celerybeat 不执行周期性任务

从 Ubuntu 到 Red Hat 的 Linux Python Dogtail 更新 - pyatspi 库

Python 字符串转十六进制

python - Pandas `to_csv` 无法设置引号

python - Pandas,将自定义函数应用于按字符串索引分组的数据