【发布时间】:2019-05-09 17:13:09
【问题描述】:
我的 df 有一个名为“days”的字段。我需要从“天”和开始日期创建一个日期时间。可能很麻烦,但它有效:
for t in df.index:
df.loc[t,'date']=datetime.date(startdate)+
datetime.timedelta(days=df.loc[t,'days'])
df.index=df.date
当我尝试上采样时:
udf=df.resample('M',how='sum')
我明白了:
TypeError:仅适用于 DatetimeIndex、TimedeltaIndex 或 PeriodIndex,但得到了一个“索引”实例
如果我使用日期时间字段设置索引,为什么索引不会成为日期时间索引(或“DatetimeIndex”)? “日期”中的每个条目和索引都是日期时间,不是吗?
type(df.date[0])
<type 'datetime.date'>
type(df.index[0])
<type 'datetime.date'>
绕过它的方法是:
df.index=pd.to_datetime(df.index)
但我找不到任何解释为什么将现有日期时间分配给索引不起作用,但通过 pd.to_datetime(df.index) 将现有日期时间 (df.index) 转换为日期时间却可以。
【问题讨论】:
标签: pandas datetimeindex