样本数据:
Week Price
2011-31 1.58
2011-32 1.9
2011-33 1.9
2011-34 1.9
我有一个如上所述的数据框,我想将“ Week”列类型从字符串转换为日期时间。
我的代码:
data['Date_Time'] = pd.to_datetime(data.Week, format='%Y-%W')
data = data.drop(['Week'], axis=1)
data.index = data.Date_Time
错误:
'ValueError:没有日期和年份,不能使用'%W'或'%U'
您需要通过参数指定星期几%w
:
data['Date_Time'] = pd.to_datetime(data.Week + '0', format='%Y-%W%w')
print (data)
Week Price Date_Time
0 2011-31 1.58 2011-08-07
1 2011-32 1.90 2011-08-14
2 2011-33 1.90 2011-08-21
3 2011-34 1.90 2011-08-28
对于DatetimeIndex
使用DataFrame.pop
带rename
:
data.index = pd.to_datetime(data.pop('Week') + '0', format='%Y-%W%w').rename('Date')
print (data)
Price
Date
2011-08-07 1.58
2011-08-14 1.90
2011-08-21 1.90
2011-08-28 1.90
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句