Sample Data:
Week Price
2011-31 1.58
2011-32 1.9
2011-33 1.9
2011-34 1.9
I have a dataframe like above and I wanna convert 'Week' column type from string to datetime.
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: Cannot use '%W' or '%U' without day and year'
You need specify day of week by parameter %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
For DatetimeIndex
use DataFrame.pop
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With