Работа с датами таит в себе очень неприятные сюрпризы из-за различных форматов, которые они могут принимать. В этой короткой статье мы увидим, как выбрать формат, который мы предпочитаем, благодаря библиотеке Python pandas.

Европейский или американский?

Здесь мы решаем извечный вопрос: европейский или американский формат? Когда мы пишем 03.02.2010, мы хотим указать 2 марта или 3 февраля?

В отличие от того, что происходит в Excel, формат дат в pandas не зависит от настроек геолокации нашего устройства, но это то, что мы можем время от времени указывать.

Мы работаем с пандами

Представим, что у нас есть следующий набор данных:

Как вы заметили, четвертый столбец содержит даты, которые могут быть как в американском, так и в европейском формате. Как сделать так, чтобы наш скрипт «интерпретировал» их так, как мы?
Просто! Нам просто нужно преобразовать столбец «Дата» в формат модуля Python «datetime» и указать, указывает ли первое число, содержащееся в ячейках, день или месяц. Давайте посмотрим на реальную команду:

df['Date of Joining'] = pd.to_datetime( df['Date of Joining'], dayfirst = True )

В данном случае мы указали, что первая цифра слева в столбце «Дата присоединения» указывает на день. Следовательно, наш сценарий будет интерпретировать дату, как показано на изображении выше. Затем, в соответствии с европейским форматом даты, датой присоединения Джеймса будет 4 апреля 2017 года.

Наоборот, если мы хотим, чтобы скрипт читал даты в американском формате, нам просто нужно немного изменить код, показанный выше:

df[ 'Date of Joining' ] = pd.to_datetime( df['Date of Joining'], dayfirst = False )

Как видно из изображения выше, первое число столбца «Дата присоединения» исходного dataframe интерпретируется не как день даты, а как месяц. Таким образом, датой присоединения Ram станет 4 ноября 2017 года.

Вы можете подписаться на меня в Twitter и LinkedIn, чтобы узнать больше на разные темы. Если вы хотите узнать обо мне больше, посетите мой Сайт.

Спасибо и до скорой встречи…!

Чао.