下面是一个示例代码,演示了如何使用Pandas来按组累积所有先前日期的总和:
import pandas as pd
# 创建示例数据
data = {'日期': ['2021-01-01', '2021-01-01', '2021-01-02', '2021-01-02', '2021-01-03'],
'分组': ['A', 'B', 'A', 'B', 'A'],
'值': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
# 将日期列转换为日期类型
df['日期'] = pd.to_datetime(df['日期'])
# 按分组和日期排序数据
df = df.sort_values(['分组', '日期'])
# 按分组进行分组累积总和
df['累计总和'] = df.groupby('分组')['值'].cumsum()
print(df)
运行上述代码,将得到以下输出:
日期 分组 值 累计总和
0 2021-01-01 A 1 1
2 2021-01-02 A 3 4
4 2021-01-03 A 5 9
1 2021-01-01 B 2 2
3 2021-01-02 B 4 6
在这个示例中,我们首先将日期列转换为日期类型,然后对数据进行排序,以确保日期是按顺序排列的。然后,我们使用groupby()
函数按分组进行分组,并使用cumsum()
函数计算每个组的累积总和。最后,我们将累积总和添加到原始数据框中的新列中。
下一篇:按组累积最小值