Python 对数据帧中的某些行组求和
我有一个pandas数据框,我想对某些不规则间隔的日期之间的值求和。举个例子,我有这样的东西: 日期 小部件 2021-03-01 1. 2021-03-02 0 2021-03-03 1. 2021-03-04 3. 2021-03-05 1. 2021-03-06 2. 您可以尝试以下方法:Python 对数据帧中的某些行组求和,python,pandas,Python,Pandas,我有一个pandas数据框,我想对某些不规则间隔的日期之间的值求和。举个例子,我有这样的东西: 日期 小部件 2021-03-01 1. 2021-03-02 0 2021-03-03 1. 2021-03-04 3. 2021-03-05 1. 2021-03-06 2. 您可以尝试以下方法: df['date'] = pd.to_datetime(df['date']) #convert to datetime 然后检查截止值和累积值的出现情况,并将其用作grouper列: cutoff
df['date'] = pd.to_datetime(df['date']) #convert to datetime
然后检查截止值和累积值的出现情况,并将其用作grouper列:
cutoffs= ['2021-03-01', '2021-03-04', '2021-03-05']
cond = df['date'].isin(pd.to_datetime(cutoffs))
df['sums'] = df.groupby(cond.cumsum())['widgets'].transform('sum').where(cond,0)
print(df)
date widgets sums
0 2021-03-01 1 2
1 2021-03-02 0 0
2 2021-03-03 1 0
3 2021-03-04 3 3
4 2021-03-05 1 3
5 2021-03-06 2 0
非常好,谢谢!