python-熊猫-计算相对于最早值的每日差异
作者:互联网
这可能很容易,但是由于某种原因,我发现很难完成.任何提示将非常感谢.我有一些时间序列数据,包括每天5分钟的间隔,ala:
Date Values
2012-12-05 09:30:00 5
2012-12-05 09:35:00 7
2012-12-05 09:40:00 3
2012-12-05 09:45:00 2
2012-12-05 09:50:00 15
2012-12-06 09:30:00 4
2012-12-06 09:35:00 3
2012-12-06 09:40:00 8
2012-12-06 09:45:00 1
我想计算相对于当天第一个值(在这种情况下始终为9:30值)的差异,即.最终得到这个DataFrame:
Date Values
2012-12-05 09:30:00 0
2012-12-05 09:35:00 2
2012-12-05 09:40:00 -2
2012-12-05 09:45:00 -3
2012-12-05 09:50:00 10
2012-12-06 09:30:00 0
2012-12-06 09:35:00 -1
2012-12-06 09:40:00 4
2012-12-06 09:45:00 -3
解决方法:
您需要按创建的系列减去transform
,其中groupby
和Series.dt.date
和first
分别为:
print (df.Values.groupby(df.Date.dt.day).transform('first'))
0 5
1 5
2 5
3 5
4 5
5 4
6 4
7 4
8 4
Name: Values, dtype: int64
df.Values = df.Values - df.Values.groupby(df.Date.dt.day).transform('first')
print (df)
Date Values
0 2012-12-05 09:30:00 0
1 2012-12-05 09:35:00 2
2 2012-12-05 09:40:00 -2
3 2012-12-05 09:45:00 -3
4 2012-12-05 09:50:00 10
5 2012-12-06 09:30:00 0
6 2012-12-06 09:35:00 -1
7 2012-12-06 09:40:00 4
8 2012-12-06 09:45:00 -3
标签:pandas,resampling,python 来源: https://codeday.me/bug/20191118/2025222.html