Иногда нам нужно выполнить простые операции с датами и временем.
Например:
Первый: в приведенном выше наборе данных есть два набора дат, и мы можем напрямую найти интервал между ними.
Простое вычитание дает разницу между двумя датами.
Но очень странно, почему в результате стоит единица дней? Каковы свойства полученных данных?
Исходным результатом является не целочисленный тип или строка, а тип timedelta, обычно используемый в библиотеке datetime.
Как преобразовать эти данные в целые числа, чтобы мы могли использовать их позже?
Используйте .days один раз для каждого элемента, чтобы преобразовать данные в целые числа.
данные timedelta, нельзя напрямую преобразовать в годы, недели, месяцы и т. д.,Преобразует только в дни, секунды и микросекунды. И при возврате секунд и микросекунд, если это отрицательное число, оно подвержено ошибкам.(Пример: -3 секунды будут обработаны как -1 день 86397 секунд)
Поэтому лучше использовать total_seconds() при преобразовании секунд интервала
2. Если я хочу знать, могу ли я добавить или вычесть дату n дней назад или n дней позже?
Извините но нет. . . . . .
Эта функция использует функцию timedelta в библиотеке datetime.
Вычитание также работает:
Не только добавлять или вычитать дни, но также добавлять или вычитать часы:
Добавить или вычесть недели:
Помимо добавления и вычитания дней, часов и недель, вы также можете добавлять или вычитать минуты, секунды, миллисекунды и микросекунды.Количество месяцев и лет нельзя напрямую прибавить или вычесть.Ведь количество дней в каждом году и месяце разное.
3. Если нам нужно вычесть одну и ту же дату для всех столбцов, нам нужно определить дату, чтобы система могла ее распознать.
Это позволяет выполнять операции между датами и датами:
В общем: работа с датой в пандах не особо удобная, для этого нужно использовать библиотеку datetime, а преобразовать тип данных timedelta в целое непросто.