У меня есть pandas DataFrame, в котором я хотел бы создать дополнительный столбец, содержащий только год, который я извлекаю из столбца в формате YYYYMMDD. При поиске в форуме я нашел команду to_datetime
, но для моего случая это не сработало.Извлечение года из колонки YYYYMMDD в Pandas DataFrame
Я попытался следующие:
df = pd.DataFrame({'name' : ['A','B'],
'date' :[20130102,20140511]})
df['date'] = pd.to_datetime(df['date'])
df['year'] = df['date'].dt.year
что я получаю в выходе:
date name year
0 1970-01-01 00:00:00.020130102 A 1970
1 1970-01-01 00:00:00.020140511 B 1970
, но я хотел бы получить:
date name year
0 20130102 A 2013
1 20140511 B 2014
Я также попробовал без to_datetime
поскольку моя дата не находится точно в формате yyyy-mm-dd, но также не может быть так. Надеюсь, вы можете помочь мне с этой проблемой «новичка», спасибо большое!
Вы должны пройти '' format' к to_datetime': 'ф.р. [ 'дата'] = pd.to_datetime (DF [ 'дата'], формат = '% Y% м% D)' – EdChum
отлично, большое вам спасибо! (в конце вашего формата «отсутствует») – Don