Библиотека Python pandas (24) операции даты и времени

Python

Иногда нам нужно выполнить простые операции с датами и временем.

Например:

Первый: в приведенном выше наборе данных есть два набора дат, и мы можем напрямую найти интервал между ними.

Простое вычитание дает разницу между двумя датами.

Но очень странно, почему в результате стоит единица дней? Каковы свойства полученных данных?

Исходным результатом является не целочисленный тип или строка, а тип timedelta, обычно используемый в библиотеке datetime.

Как преобразовать эти данные в целые числа, чтобы мы могли использовать их позже?

Используйте .days один раз для каждого элемента, чтобы преобразовать данные в целые числа.

данные timedelta, нельзя напрямую преобразовать в годы, недели, месяцы и т. д.,Преобразует только в дни, секунды и микросекунды. И при возврате секунд и микросекунд, если это отрицательное число, оно подвержено ошибкам.(Пример: -3 секунды будут обработаны как -1 день 86397 секунд)

Поэтому лучше использовать total_seconds() при преобразовании секунд интервала

2. Если я хочу знать, могу ли я добавить или вычесть дату n дней назад или n дней позже?

Извините но нет. . . . . .

Эта функция использует функцию timedelta в библиотеке datetime.

Вычитание также работает:

Не только добавлять или вычитать дни, но также добавлять или вычитать часы:

Добавить или вычесть недели:

Помимо добавления и вычитания дней, часов и недель, вы также можете добавлять или вычитать минуты, секунды, миллисекунды и микросекунды.Количество месяцев и лет нельзя напрямую прибавить или вычесть.Ведь количество дней в каждом году и месяце разное.

3. Если нам нужно вычесть одну и ту же дату для всех столбцов, нам нужно определить дату, чтобы система могла ее распознать.

Это позволяет выполнять операции между датами и датами:

В общем: работа с датой в пандах не особо удобная, для этого нужно использовать библиотеку datetime, а преобразовать тип данных timedelta в целое непросто.