Манипуляции с датой и временем в Python с помощью Pandas

Работать с датой и временем несложно, но нужно запомнить много справочной информации. В этой статье мы рассмотрим большую ее часть. Для демонстрации используется стандартная библиотека Python datetime и Pandas.

Основы библиотеки DateTime

С помощью стандартной библиотеки можно создавать объекты datetime. Ниже приведен пример, как это сделать, если вам не нужна информация о часах, минутах и секундах.

Основы библиотеки DateTime

Или, если вам она нужна, можно указать значения.

Основы библиотеки DateTime - 2

Чтобы узнать, сколько сейчас времени до миллисекунды, можно использовать функцию .now().

Разница во времени

Объявим переменную и установим ее значение на текущее время.

Разница во времени

Затем объявим другую переменную и устанавливаем ее значение на текущее время минус значение переменной current_time.

Разница во времени - 2

В результате мы получили объект timedelta. показывающий, сколько времени прошло между объявлением этих двух переменных. Можно с легкостью получить доступ к этой информации.

Перевод string в в datetime и наоборот

Библиотека datetime включает в себя два метода для преобразования строк в объекты datetime и наоборот. Чтобы преобразовать строку в объект datetime, нужно использовать функцию strptime().

Перевод string в в datetime и наоборот

Если вас не устраивает форматирование, зайдите на этот сайт. Для обратного преобразования используется метод strftime().

Перевод string в в datetime и наоборот - 2

Диапазоны дат в Pandas

При работе с датами я чаще использую библиотеку Python datetime. Но кроме этих случаев:

  • диапазоны дат;
  • пересчет времени.

Второй случай заслуживает отдельной статьи, поэтому я остановлюсь на первом.

Я использую библиотеку Pandas для создания диапазонов дат, чтобы избежать циклов при использовании стандартной библиотеки. Например, чтобы создать 30-дневный массив дат, начинающийся с 1 января 2020 года.

Диапазоны дат в Pandas

Видите, как легко?

При этом не нужно придерживаться определенного форматирования. Библиотека Pandas достаточно умна, чтобы понять, что именно вы имели в виду

Видите, как легко?

Это также будет отлично работать.

Видите, как легко? - 2

Даже какая-то сумасшедшая комбинация не будет проблемой.

И напоследок

Этих знаний достаточно для объявления даты и времени и работы с ними в Python. Их достаточно для выполнения большинства задач.