【发布时间】:2018-12-29 12:36:29
【问题描述】:
我试图在基于“日期”列的日期范围内对 colA 的值求和,并将此滚动值存储在新列“sum_col”中 但我得到的是所有行的总和 (=100),而不仅仅是日期范围内的那些。
我不能使用 rolling 或 groupby by,因为我的日期(在真实数据中)不是连续的(有些日子不见了)
艾米的想法如何做到这一点?谢谢。
# Create data frame
df = pd.DataFrame()
# Create datetimes and data
df['date'] = pd.date_range('1/1/2018', periods=100, freq='D')
df['colA']= 1
df['colB']= 2
df['colC']= 3
StartDate = df.date- pd.to_timedelta(5, unit='D')
EndDate= df.date
dfx=df
dfx['StartDate'] = StartDate
dfx['EndDate'] = EndDate
dfx['sum_col']=df[(df['date'] > StartDate) & (df['date'] <= EndDate)].sum()['colA']
dfx.head(50)
【问题讨论】:
-
你能发布一个当前输出和你预期输出的例子吗?
标签: python pandas sum date-range