我在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
。
最后添加一些聚合函数,例如sum
,mean
...:
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/