#python #pandas #dataframe #datetime
#python #pandas #фрейм данных #дата и время
Вопрос:
У меня есть фрейм данных pandas со столбцом, содержащим годы:
col1 col2 ... year ... coln
- - ... 2020 ... -
- - ... 2021 ... -
- - ... 2022 ... -
Я хочу преобразовать это в date, сопоставив год с 1-й датой этого года, например:
col1 col2 ... year ... coln
- - ... 2020-01-01 ... -
- - ... 2021-01-01 ... -
- - ... 2022-01-01 ... -
Я пробовал это:
df['year'] = pd.to_datetime(df['year'], format='%Y%m%d')
Но это выдает мне эту ошибку:
Ошибка значения: данные о времени «2020» не соответствуют формату «%Y%m%d» (совпадают)
Как я могу это исправить?
Комментарии:
1. Я всегда проверяю strftime.org для краткого ознакомления с форматами дат.
Ответ №1:
Используйте %Y
для сопоставления year в формате YYYY
, но я думаю, что этот параметр следует опустить:
df['year'] = pd.to_datetime(df['year'], format='%Y')
df['year'] = pd.to_datetime(df['year'])
Ответ №2:
Вы можете попробовать это:
df['year'] = df['year'].astype('str') "-01-01"
print(df)