这是我的代码:
import pandas as pd
data = pd.read_csv("temp.data",sep=';')
data['Date'] = pd.to_datetime(data['Date']+' '+data['Time'])
del data['Time']
data.rename(columns={'Date':'TimeStamp'}, inplace=True)
data = data.reset_index()
data['TimeStamp'] = pd.to_datetime(data['TimeStamp'], format='%d/%m/%Y %H:%M:%S')
data['num'] = pd.to_numeric(data['num'])
data = data.resample('1M')
错误: “ TypeError:仅对DatetimeIndex,TimedeltaIndex或PeriodIndex有效,但得到'RangeIndex'的实例”。 样本数据(原始数据有20万行,没有缺失值):
17/12/2006;01:58:00;3.600
17/12/2006;01:59:00;2.098
17/12/2006;02:00:00;1.334
17/12/2006;02:01:00;4.362
17/12/2006;02:02:00;1.258
17/12/2006;02:03:00;2.448
17/12/2006;02:04:00;5.426
17/12/2006;02:05:00;9.704
答案 0 :(得分:1)
如错误中所述,在尝试重新采样时,您有一个RangeIndex,它只是一个连续的整数,而您需要一个表示时间点的方法。
添加
data.set_index('TimeStamp', inplace=True)
重新采样之前会将'TimeStamp'
列设置为索引。你也可以取消
data = data.reset_index()
除非您想要一个标有' index'的额外列。漂浮在周围。