我在Python中有一个pandas数据框,其列如下:

 df.Timestamp



...   ..................
129   2018-09-12 21:40:00
130   2018-09-12 21:50:00
131   2018-09-12 22:00:00
132   2018-09-12 22:10:00
133   2018-09-12 22:20:00
134   2018-09-12 22:30:00
135   2018-09-12 22:40:00
136   2018-09-12 22:50:00
137   2018-09-12 23:00:00
138   2018-09-12 23:10:00
139   2018-09-12 23:20:00
140   2018-09-12 23:30:00
141   2018-09-12 23:40:00
142   2018-09-12 23:50:00
Name: Timestamp, dtype: datetime64[ns]



单个元素的类型为:

type(df.Timestamp[0])



datetime.datetime



当我尝试重采样时,发生以下错误:

df.Timestamp.resample('2H')



  TypeError:仅对DatetimeIndex,TimedeltaIndex或PeriodIndex有效


我尝试了pd_todatetime,但是它不起作用。
据我所知,我的数据类型是正确的,因为它是datetime.datetime
我查看的所有解决方案都没有针对此类问题的答案。

有什么解决方案?

最佳答案

有2种可能的解决方案-在on中使用参数resample或通过DatetimeIndex创建set_index

最后添加一些聚合函数,例如summean ...:

df.resample('2H', on='Timestamp').sum()




df.set_index('Timestamp').resample('2H').sum()

关于python - TypeError:仅当dtype为datetime64 [ns]时对DatetimeIndex,TimedeltaIndex或PeriodIndex有效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52773627/

10-09 08:46