Python3 - Pandas重采样功能

时间:2017-05-10 17:33:15

标签: python pandas typeerror

这是我的代码:

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

1 个答案:

答案 0 :(得分:1)

如错误中所述,在尝试重新采样时,您有一个RangeIndex,它只是一个连续的整数,而您需要一个表示时间点的方法。

添加

data.set_index('TimeStamp', inplace=True)
重新采样之前

会将'TimeStamp'列设置为索引。你也可以取消

data = data.reset_index()

除非您想要一个标有' index'的额外列。漂浮在周围。