1 回答

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
您的錯(cuò)誤消息以O(shè)nly valid with DatetimeIndex ,...開(kāi)頭。
因此,在將時(shí)間戳列轉(zhuǎn)換為datetime后,從中創(chuàng)建一個(gè)DatetimeIndex(并保存它以供將來(lái)使用):
ind = pd.DatetimeIndex(pd.to_datetime(df.timestamp))
結(jié)果是:
DatetimeIndex(['2017-01-03 08:30:00-06:00', '2017-01-03 08:30:32-06:00',
'2017-01-03 08:30:42-06:00', '2017-01-03 08:30:46-06:00',
'2017-01-03 08:30:52-06:00'],
dtype='datetime64[ns, pytz.FixedOffset(-360)]', name='timestamp', freq=None)
或者也許您應(yīng)該根據(jù)上述公式在 DataFrame 中設(shè)置索引:
wrk = df.set_index(pd.DatetimeIndex(pd.to_datetime(df.timestamp)))\
.drop(columns=['timestamp'])
然后重新索引它(使用一些聚合函數(shù)),例如:
wrk.resample('15s').sum()
我將源df創(chuàng)建為:
timestamp amount
0 2017-01-03 08:30:00-06:00 12
1 2017-01-03 08:30:32-06:00 14
2 2017-01-03 08:30:42-06:00 17
3 2017-01-03 08:30:46-06:00 19
4 2017-01-03 08:30:52-06:00 23
并得到以下結(jié)果:
amount
timestamp
2017-01-03 08:30:00-06:00 12
2017-01-03 08:30:15-06:00 0
2017-01-03 08:30:30-06:00 31
2017-01-03 08:30:45-06:00 42
添加回答
舉報(bào)