您可以使用
applylambda函数:
df['date1'] = pd.to_datetime(df['date1'])df['date2'] = pd.to_datetime(df['date2'])df1 = pd.Dataframe(index=pd.date_range(df.date1.min(), df.date2.max()), columns = ['score1sum', 'score2sum'])df1[['score1sum','score2sum']] = df1.apply(lambda x: df.loc[(df.date1 <= x.name) & (x.name <= df.date2), ['score1','score2']].sum(), axis=1)df1.rename_axis('usedate').reset_index()输出:
usedate score1sum score2sum0 2016-01-01 8 81 2016-01-02 21 62 2016-01-03 32 133 2016-01-04 30 354 2016-01-05 13 26



