[英]Question on offsetting when resampling a dataframe
我正在嘗試每 3 小時重新采樣一次數據集,偏移量為 1 小時。 當我嘗試時,時間偏移 1 小時,並根據需要每 3 小時設置一次,但這些值僅重新采樣,不考慮偏移
我的嘗試看起來像這樣
df = pd.read_excel('Raw Data.xlsx')
df['TIME'] = pd.to_datetime(df['TIME'])
df['DATA'] = df['DATA'].astype(float) * 1000
hourly = df.resample('H', on='TIME').mean()
thirdly = df.resample('3H', loffset = '1H', on='TIME').mean()
如圖所示,我已經能夠進行每小時設置,但是當我嘗試使用偏移量創建 3 小時重新采樣時,我得到了這個結果
DATA
TIME
2019-07-29 22:00:00 10.777778
2019-07-30 01:00:00 14.055556
2019-07-30 04:00:00 13.333333
2019-07-30 07:00:00 8.722222
2019-07-30 10:00:00 7.333333
...
當我的原始數據看起來像這樣
TIME DATA
0 2019-07-29 22:33:34 11.0
1 2019-07-29 22:43:34 10.0
2 2019-07-29 22:53:34 10.0
3 2019-07-29 23:03:34 10.0
4 2019-07-29 23:13:34 10.0
5 2019-07-29 23:23:34 11.0
6 2019-07-29 23:33:34 11.0
7 2019-07-29 23:43:34 12.0
8 2019-07-29 23:53:34 12.0
9 2019-07-30 00:03:34 11.0
10 2019-07-30 00:13:34 12.0
11 2019-07-30 00:23:34 13.0
12 2019-07-30 00:33:34 13.0
13 2019-07-30 00:43:34 14.0
14 2019-07-30 00:53:34 14.0
...
當您手動計算時,您可以看到它所取的平均值實際上是從 21:00-24:00 而不是 22:00-1:00,盡管我在重新采樣中進行了偏移,但它顯示出來。 我該如何糾正?
您需要使用參數base
而不是loffset
只調整標簽。
嘗試:
thirdly = df.resample('3H', base = 1, on='TIME').mean()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.