TypeError:“ last”仅支持DatetimeIndex索引

时间:2020-02-19 10:00:46

标签: python pandas datetime

Ship_Date        Id

2019-10-29       i1 
2019-10-29       i2
2019-10-28       i3
2019-10-28       i4

2 years data
df_updated=df.sort_values(by="Date", ascending=False).set_index("Date").last("2M")

当我尝试执行一段代码时,出现类似

的错误

“ TypeError:'last'仅支持DatetimeIndex索引”

任何帮助将不胜感激 谢谢

1 个答案:

答案 0 :(得分:3)

Date不是日期时间对象。您需要先使用datetime强制转换为pd.to_datetime

df['Date'] = pd.to_datetime(df.Date)
df.sort_values(by="Date", ascending=False).set_index("Date").last("2M")

           Id
Date          
2019-10-29  i1
2019-10-29  i2
2019-10-28  i3
2019-10-28  i4

或者您也可以这样做:

df.index = pd.DatetimeIndex(df.pop('Date'))
df.sort_index().last('2M')

           Id
Date          
2019-10-29  i1
2019-10-29  i2
2019-10-28  i3
2019-10-28  i4