Pandas Dataframe asFreq更改索引

时间:2017-03-22 17:30:11

标签: python pandas

使用asfreq重新采样数据帧时遇到问题。我的数据帧df具有Datetime.Date()类型的索引。使用df.asfreq(' d',' pad')后,我的数据框索引已更改为输入pandas.tslib.Timestamp。我已尝试以下方法将其更改回来,但我没有运气......

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

有什么想法? 谢谢!

2 个答案:

答案 0 :(得分:1)

使用pd.to_datetime

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

这是创建日期时间索引的规范方法。如果您希望索引索引都是datetime.datetime类型,那么您可以执行以下操作。

df.index = pd.Index([i.to_datetime() for i in df.index], name=df.index.name, dtype=object)

我只是不知道你为什么要这样做。

答案 1 :(得分:0)

为什么这是一个问题?如果您确实需要datetime.date,那么您可以尝试df.index = df.index.map(lambda x: x.date() pandas.TimeStamp子类datetime.datetime