





Укажите формат дат:
df['date1'] = pd.to_datetime(df['date1'], format='%d.%m.%Y').dt.month
Или установите параметр dayfirst=True:
df['date1'] = pd.to_datetime(df['date1'], dayfirst=True).dt.month
Спасибо! но в случае date2 это не работает. есть ли способ улучшить его на сегодняшний день?
@ZaurGuliyev - используй df['date2'] = pd.to_datetime(df['date2']).dt.month
Я пробовал это, но не работал. Я пытался создать m2 и m3 для date2, но это не сработало.
@jezarel Я добавил изображение в пост.
@ZaurGuliyev - попробуйте df['date2'] = pd.to_datetime(df['date2'], format='%Y:%d:%m').dt.month, если формат YYYY-DD-MM
@jezarel пробовал как m4. не помогло, добавил скрин в пост.
@ZaurGuliyev - формат в date2 это YYYY-MM-DD ? Или YYYY-DD-MM?»
@jezarel ГГГГ-ДД-ММ
@ZaurGuliyev - можешь попробовать df['date2'] = pd.to_datetime(df['date2'], format='%Y-%d-%m').dt.month ? Если использовать df['date2'] = pd.to_datetime(df['date2'], format='%Y:%d:%m').dt.month, ошибка не генерируется?
@jezarel попробовал и добавил скрин в пост. Не могу понять в чем проблема, но не работает.
@ZaurGuliyev - действительно странно. Что такое print (df['date2'].head().tolist())?
@jezarel добавил скрин в пост.
@ZaurGuliyev используй df['m5'] = pd.to_datetime(df['date2'].astype(str), format='%Y-%d-%m').dt.month
@jezarel вернул ошибку как для «%Y-%d-%m», так и для «%Y:%d:%m». добавлены экраны.
Давайте продолжить обсуждение в чате.
Вероятно, что-то делать с форматом даты и времени. Кажется, используется американский формат
year-day-month.