1 回答

TA貢獻1856條經驗 獲得超17個贊
您的錯誤消息以Only valid with DatetimeIndex ,...開頭。
因此,在將時間戳列轉換為datetime后,從中創建一個DatetimeIndex(并保存它以供將來使用):
ind = pd.DatetimeIndex(pd.to_datetime(df.timestamp))
結果是:
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)
或者也許您應該根據上述公式在 DataFrame 中設置索引:
wrk = df.set_index(pd.DatetimeIndex(pd.to_datetime(df.timestamp)))\
.drop(columns=['timestamp'])
然后重新索引它(使用一些聚合函數),例如:
wrk.resample('15s').sum()
我將源df創建為:
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
并得到以下結果:
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
添加回答
舉報