首页 > 解决方案 > Python - 2个日期之间的列值总和

问题描述

我正在尝试在我的数据框中创建一个新列:

设 X 为可变天数。

日期 售出单位 过去 X 天内售出的总单位数
0 2019-01-01 19:00:00 5
1 2019-01-01 15:00:00 4
2 2019-01-05 11:00:00 1
3 2019-01-12 12:00:00 3
4 2019-01-15 15:00:00 2
5 2019-02-04 18:00:00 7

对于每一行,我需要总结售出的单位 + 过去 10 天内售出的所有单位(让 x = 10 天)

期望的结果:

日期 售出单位 过去 X 天内售出的总单位数
0 2019-01-01 19:00:00 5 5
1 2019-01-01 15:00:00 4 9
2 2019-01-05 11:00:00 1 10
3 2019-01-12 12:00:00 3 4
4 2019-01-15 15:00:00 2 6
5 2019-02-04 18:00:00 7 7

.rolling(window=)在使用句号之前使用过该方法,我认为以下内容可以提供帮助

df = df.rolling("10D").sum() 但我无法正确使用语法!

请帮忙!

标签: pythondataframesumtime-series

解决方案


尝试:

df["Total Units sold in the last 10 days"] = df.rolling(on="Date", window="10D", closed="both").sum()["Units Sold"]
print(df)

印刷:

        Date  Units Sold  Total Units sold in the last 10 days
0 2019-01-01           5                                   5.0
1 2019-01-01           4                                   9.0
2 2019-01-05           1                                  10.0
3 2019-01-12           3                                   4.0
4 2019-01-15           2                                   6.0
5 2019-02-04           7                                   7.0

推荐阅读