【问题标题】:Python3 - Pandas Resample functionPython3 - 熊猫重采样函数
【发布时间】:2017-10-09 12:02:48
【问题描述】:

这是我的代码:

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

【问题讨论】:

  • 我什至玩过日期格式:format='%d/%m/%Y %H:%M:%S' 和 '%Y/%m/%d %H :%M:%S' 两者都不起作用。这是同样的错误。

标签: python pandas typeerror


【解决方案1】:

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

添加

data.set_index('TimeStamp', inplace=True)

在您重新采样之前,会将您的 'TimeStamp' 列设置为索引。你也可以取消

data = data.reset_index()

除非您想要一个标有“索引”的额外列浮动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 2013-06-04
    • 2015-11-21
    • 1970-01-01
    • 2022-06-10
    相关资源
    最近更新 更多