【发布时间】:2020-12-22 14:23:55
【问题描述】:
我有以下数据框,我想通过考虑当前日期和以前的所有日期数据来计算每个日期的累积平均值。
df = pd.DataFrame({'Items':['Item1', 'Item2', 'Item1', 'Item2', 'Item1', 'Item2', 'Item1', 'Item2', 'Item1', 'Item2', 'Item1'],
'Variable': ['V1', 'V2', 'V1', 'V2', 'V1', 'V2', 'V1', 'V2', 'V1', 'V2', 'V1'],
'Date': ['2020-12-16', '2020-12-16', '2020-12-16', '2020-12-16', '2020-12-17', '2020-12-17', '2020-12-17', '2020-12-17', '2020-12-18', '2020-12-18', '2020-12-18'],
'Value': [5, 2, 5, 1, 1, 1, 1, 2, 1, 1, 1]})
df = df.sort_values(['Date'], ascending=[True])
但下面的脚本没有帮助:
df.groupby(['Items', 'Variable', 'Date'])['Value'].expanding().mean().reset_index(name='Value')
在 MS excel 中,我们可以通过选择所有以前的行来找到最新日期 -2018 的平均值,如下所示:
如上所述,我想计算所有日期
【问题讨论】:
标签: python python-3.x pandas dataframe pandas-groupby