熊猫重新采样时间序列数据 - 同一列上有多个 agg 函数?
Posted
技术标签:
【中文标题】熊猫重新采样时间序列数据 - 同一列上有多个 agg 函数?【英文标题】:pandas resampled time series data - multiple agg functions on the same column? 【发布时间】:2021-09-10 04:21:31 【问题描述】:我有每日时间序列数据,我将这些数据重新采样为每周数据并对“销售额”列求和:
df_weekly = df.resample('W', on='TransxDate').agg('sales': 'sum')
如何也可以得到“计数”的销售额?如果我使用
df_weekly = df.resample('W', on='TransxDate').agg('sales': 'sum', 'sales': 'count')
我只知道计数。如果我颠倒顺序,我只会得到总和。我怀疑问题是使用具有多个功能的相同列名。有没有办法指定输出列名,以便我可以在同一列上执行多个 agg 函数?还是其他解决方案?
【问题讨论】:
使用这样的聚合列列表:df.resample('W',on='TransxDate')['sales'].agg(['sum', 'count'])
【参考方案1】:
试试这个:
df.resample('W', on='TransxDate')['sales'].agg(['sum', 'count'])
或者您可以创建一个多级索引,列聚合,然后将函数作为级别 1。通过使用双括号 [[]]
。
df.resample('2M', on='Date1')[['Number']].agg(['sum', 'count'])
【讨论】:
两者都可以,谢谢。我能够使用df_weekly = df.resample('W', on='TransxDate')[['sales', 'items']].agg(['sum', 'count'])
将其扩展到多列现在我只需要阅读如何使用生成的多索引(?)数据框。
@jub 您可以使用this post 展平multiIndex。或者您可以选择使用带有 loc 的元组。以上是关于熊猫重新采样时间序列数据 - 同一列上有多个 agg 函数?的主要内容,如果未能解决你的问题,请参考以下文章