我正在嘗試獲取時間序列的 rolling.sum。但是,這些行有不同的時間間隔(見下面我的 df_water_level_US1 資料框):
DATE TIMEREAD WATERLEVEL(M) DateAndTime
0 01/01/2016 0:00:15 0.65 01/01/2016 0:00:15
1 01/01/2016 0:10:14 0.65 01/01/2016 0:10:14
2 01/01/2016 0:20:11 0.64 01/01/2016 0:20:11
3 01/01/2016 0:30:12 0.66 01/01/2016 0:30:12
4 01/01/2016 0:40:12 0.64 01/01/2016 0:40:12
等等。我嘗試使用它來獲取每天的總和并將其保存到 final_1D:
final_1D = df_water_level_US1.set_index('DateAndTime').rolling('1D').sum()
但我收到此錯誤:
ValueError: window must be an integer 0 or greater
預期的輸出是:
DATETIMEREAD WATERLEVEL(M) DateAndTime
01/01/2016 3.24 01/01/2016
等等(2016 年 2 月 1 日、2016 年 3 月 1 日等)
有誰知道如何解決這個問題?
uj5u.com熱心網友回復:
嘗試:
df_water_level_US1['DateAndTime'] = pd.to_datetime(df_water_level_US1['DateAndTime'])
final_1D = df_water_level_US1.resample('D', on='DateAndTime')['WATERLEVEL(M)'].sum()
print(final_1D.reset_index())
# Output
DateAndTime WATERLEVEL(M)
0 2016-01-01 3.24
如果您的列DateAndTime已經是 DatetimeIndex,則第一行不是強制性的。
uj5u.com熱心網友回復:
對于每日水位總和,請嘗試按日期分組:
df.groupby('Date').sum('WATERLEVEL(M)')
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/409856.html
標籤:
下一篇:計算給定級別的每個日期組合的差異
