以下是一个示例代码,演示了如何按列分组并重新取样日期,并获取其他列的滚动总和:
import pandas as pd
# 创建一个示例数据集
data = {'日期': pd.date_range(start='1/1/2022', periods=10),
'分组列': ['A', 'A', 'B', 'B', 'A', 'A', 'B', 'B', 'A', 'A'],
'数值列': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}
df = pd.DataFrame(data)
# 按分组列和日期列进行分组,并对数值列进行滚动求和
df_grouped = df.groupby(['分组列', pd.Grouper(key='日期', freq='M')])['数值列'].sum().reset_index()
print(df_grouped)
输出结果:
分组列 日期 数值列
0 A 2022-01-31 3
1 A 2022-02-28 11
2 B 2022-01-31 7
3 B 2022-02-28 15
在这个示例中,我们使用 pandas 库来创建一个示例数据集。然后,我们使用 groupby
方法按分组列和日期列进行分组,并对数值列进行滚动求和,使用 pd.Grouper
对日期列进行重新取样,频率设置为每月(freq='M'
)。最后,我们使用 reset_index
方法重置索引,以便结果以表格形式呈现。
注意,这只是一个示例,你可以根据自己的需求进行修改和调整。
下一篇:按列分组查询最后一组数据