Извлечение года из столбца ГГГГММДД в DataFrame Pandas
У меня есть пандас DataFrame, в котором я хотел бы создать дополнительный столбец, содержащий только год, который я извлекаю из столбца в формате ГГГГММДД. При поиске на форуме я нашел to_datetime
команда, но для моего случая это не сработало.
Я попробовал следующее:
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
поскольку моя дата не в точности в формате гггг-мм-дд, но также не может быть так. Я надеюсь, что вы можете помочь мне с этой проблемой 'новичка', большое спасибо!
1 ответ
Решение
Это то, что вам нужно, чтобы указать формат, в котором вы предоставляете дату.
df['date'] = pd.to_datetime(df['date'],format='%Y%m%d')