Могу ли я анализировать даты в разных форматах?

У моего соавтора есть несогласованное форматирование даты в их данных.

0 13/11/2016 1 21/01/2017 2 22/01/2017 3 2017-02-02 4 2016-12-11 5 13/11/2016 6 2016-12-12 7 21/01/2017 8 22/01/2017 9 2017-02-02 

Я хотел бы иметь возможность анализировать это в метку времени для анализа на python. Использование parse_dates = True не работает, и я подозреваю, что это из-за смеси форматов.

Могу ли я анализировать даты в разных форматах?

One Solution collect form web for “Могу ли я анализировать даты в разных форматах?”

Вы можете использовать to_datetime :

Первый формат ( YYYY-MM-DD ):

 print (df) dates 0 13/11/2016 1 21/01/2017 2 22/01/2017 3 2017-02-02 4 2016-12-11 5 13/11/2016 6 2016-12-12 7 21/01/2017 8 22/01/2017 9 2017-02-02 9 2017-02-25 <- YYYY-MM-DD dates = pd.to_datetime(df.dates) print (dates) 0 2016-11-13 1 2017-01-21 2 2017-01-22 3 2017-02-02 4 2016-12-11 5 2016-11-13 6 2016-12-12 7 2017-01-21 8 2017-01-22 9 2017-02-02 9 2017-02-25 Name: dates, dtype: datetime64[ns] 

Второй формат ( YYYY-DD-MM )

Это немного проблематично – нужен format параметров и errors='coerce' to_datetime errors='coerce' в to_datetime , last combine_first или fillna :

 print (df) dates 0 13/11/2016 1 21/01/2017 2 22/01/2017 3 2017-02-02 4 2016-12-11 5 13/11/2016 6 2016-12-12 7 21/01/2017 8 22/01/2017 9 2017-02-02 9 2017-25-02 <- YYYY-DD-MM dates1 = pd.to_datetime(df.dates, format='%d/%m/%Y', errors='coerce') dates2 = pd.to_datetime(df.dates, format='%Y-%d-%m', errors='coerce') dates = dates1.combine_first(dates2) #dates = dates1.fillna(dates2) print (dates) 0 2016-11-13 1 2017-01-21 2 2017-01-22 3 2017-02-02 4 2016-11-12 5 2016-11-13 6 2016-12-12 7 2017-01-21 8 2017-01-22 9 2017-02-02 9 2017-02-25 Name: dates, dtype: datetime64[ns] 
  • Извлечь ежеквартальные данные за несколько квартальных периодов
  • Pandas: не могу написать файл excel
  • Как уменьшить данные с помощью самой длинной строки в рамках pandas?
  • Преобразование данных в словарь списка кортежей
  • Matplotlib Pandas: отображает имена столбцов внутри штабеля
  • Пандас Тимедельта в днях
  • ключевая ошибка и глубина lexsort MultiIndex
  • Ошибка при построении DataFrame, содержащего NaN с Pandas 0.12.0 и Matplotlib 1.3.1 на Python 3.3.2
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.