【发布时间】:2020-07-25 09:35:35
【问题描述】:
这是我的数据框
d= {'dates': ['2020-07-16','2020-07-15','2020-07-14','2020-07-13','2020-07-16','2020-07-15','2020-07-14','2020-07-13'],
'location':['Paris','Paris','Paris','Paris','NY','NY','NY','NY'],'T':[100,200,300,400,10,20,30,40]}
df = pandas.DataFrame(data=d)
df['dates']=pandas.to_datetime(df['dates'])
df
dates location T
0 2020-07-16 Paris 100
1 2020-07-15 Paris 200
2 2020-07-14 Paris 300
3 2020-07-13 Paris 400
4 2020-07-16 NY 10
5 2020-07-15 NY 20
6 2020-07-14 NY 30
7 2020-07-13 NY 40
我想为过去 2 天(包括当前日期)滚动的给定位置获取一些 T 值。
这是我想要的熊猫:
dates location T SUM2D
0 2020-07-16 Paris 100 300
1 2020-07-15 Paris 200 500
2 2020-07-14 Paris 300 700
3 2020-07-13 Paris 400 NaN
4 2020-07-16 NY 10 30
5 2020-07-15 NY 20 50
6 2020-07-14 NY 30 70
7 2020-07-13 NY 4 NaN
我试过玩这句话没有成功:
df['SUM2D'] = df.set_index('dates').groupby('location').rolling(window=2, freq='D').sum()['T'].values
【问题讨论】:
标签: python pandas dataframe pandas-groupby