样本数据:
Week Price
2011-31 1.58
2011-32 1.9
2011-33 1.9
2011-34 1.9
我有一个像上面这样的数据框,我想将“周”列类型从字符串转换为日期时间。
My Code:
data['Date_Time'] = pd.to_datetime(data.Week, format='%Y-%W')
data = data.drop(['Week'], axis=1)
data.index = data.Date_Time
Error:
“ValueError:无法使用没有日期和年份的‘%W’或‘%U’”
您需要通过参数指定星期几%w https://stackoverflow.com/a/17087427/2901002:
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
For DatetimeIndex
use DataFrame.pop http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.pop.html with 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)