У моего df есть поле под названием "дни".Мне нужно создать datetime из "days" и startdate.Возможно, громоздко, но это работает:
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')
Я получаю:
Ошибка типа: Действительна только с DatetimeIndex,TimedeltaIndex или PeriodIndex, но получил экземпляр «Index»
Если я устанавливаю индекс с полем datetime, почему индекс не становится индексом datetime (или «DatetimeIndex»)?Каждая запись в «date» и в индексе - это datetime, не так ли?
type(df.date[0])
<type 'datetime.date'>
type(df.index[0])
<type 'datetime.date'>
Способ обойти это:
df.index=pd.to_datetime(df.index)
Но я не могу найти никакого объясненияпочему назначение существующего datetime для индекса не работает, но преобразование существующего datetime (df.index) в datetime через pd.to_datetime (df.index) делает.