Работа с датами таит в себе очень неприятные сюрпризы из-за различных форматов, которые они могут принимать. В этой короткой статье мы увидим, как выбрать формат, который мы предпочитаем, благодаря библиотеке 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, чтобы узнать больше на разные темы. Если вы хотите узнать обо мне больше, посетите мой Сайт.
Спасибо и до скорой встречи…!
Чао.