我有每日时间序列数据,我将其重新采样为每周数据并对“销售额”列进行求和:
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/