#python #pandas #dataframe
Вопрос:
Я пытаюсь скрыть столбец следующей даты (str) до datetime64 и говорю, что формат не совпадает, может ли кто-нибудь помочь мне, пожалуйста 🙂
Колонка:
df[«Дата»]
0 15/7/21 … 2541 13/9/21 тип dtype: объект
Что я пытаюсь:
pd.to_datetime(df[«Дата»], формат = «%d/%m/%Y»)
Ошибка значения: данные о времени «15/7/21» не соответствуют формату «%d/%m/%Y » (совпадение)
Я тоже стараюсь:
pd.to_datetime(df[«Дата»].astype(«дата-время 64»), формат=’%d/%m/%Y’)
И он преобразует его в дату и время, но есть какая-то дата, день в месяце.
Кто-нибудь знает, что делать ?
Ответ №1:
%Y
ожидает 4-значный год. Используйте %y
в течение 2-значного года (см. документы):
>>> import pandas as pd
>>> df = pd.DataFrame({'Date':['15/7/21','13/9/21']})
>>> df['Date']
0 15/7/21
1 13/9/21
Name: Date, dtype: object
>>> pd.to_datetime(df['Date'].astype('datetime64'),format='%d/%m/%y')
0 2021-07-15
1 2021-09-13
Name: Date, dtype: datetime64[ns]
Обратите внимание, что pandas
это довольно хорошо угадывает формат:
>>> pd.to_datetime(df['Date'])
0 2021-07-15
1 2021-09-13