报错,原因,pandas的DatetimeIndex对象的weekofyear已经弃用,解决办法
使用.isocalendar().week方法再将其转换为列表,再将其转换为pandas的Index对象实现同样的效果
代码:
dti=pd.to_datetime(['1/1/2018',np.datetime64('2018-01-01'),datetime.datetime(2018,1,1)])
print(dti)
print(dti.isocalendar().week)
print(dti.isocalendar().week.to_list())
print(pd.Index(dti.isocalendar().week.to_list(),dtype='int32'))
输出
2010-11-12 00:00:00
2018-01-01 1
2018-01-01 1
2018-01-01 1
Name: week, dtype: UInt32
[1, 1, 1]
Index([1, 1, 1], dtype='int32')