Извлечение года из столбца ГГГГММДД в ​​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')
Другие вопросы по тегам