将熊猫数据框的标准整数索引更改为日期时间索引,从第1分钟开始增加1分钟

时间:2019-02-20 20:42:09

标签: python pandas datetime time-series datetime-format

我有一个熊猫数据框,其索引从1开始。我一直将其视为时间序列,因为我的问题实际上涉及从分钟1开始计算的分钟数,因此非常方便。但是,现在我需要将索引转换为DateTime才能实现一些statsmodels。

如果到目前为止我不想重新定义整个工作,该怎么办?

我尝试过

df.index = pd.to_datetime(pd.index)

但这始于1970-01-01 00:00:00.000000001。我想从“ 00:01:00”开始,每增加1分钟,有什么建议吗?

1 个答案:

答案 0 :(得分:2)

使用to_timedelta传递unit='m'(持续数分钟)作为参数。

df = pd.DataFrame({'A': ['x'] * 10})

df.index = pd.to_timedelta(pd.RangeIndex(1, len(df)+1), unit='m')
df    
          A
00:01:00  x
00:02:00  x
00:03:00  x
00:04:00  x
00:05:00  x
00:06:00  x
00:07:00  x
00:08:00  x
00:09:00  x
00:10:00  x

如果索引单调增加,则可以将上面的表达式简化为

df.index = pd.to_timedelta(df.index+1, unit='m')
df    
          A
00:01:00  x
00:02:00  x
00:03:00  x
00:04:00  x
00:05:00  x
00:06:00  x
00:07:00  x
00:08:00  x
00:09:00  x
00:10:00  x