Pandas: Добавить дни к колонке с датами
Last updated
Last updated
В этом посте вы узнаете, как использовать Pandas для добавления дней к столбцу с датой. Вы узнаете, как добавлять постоянное количество дней к столбцу, а также как добавлять дни, основываясь на другом столбце. Наконец, вы научитесь работать с определенными форматами часовых поясов, учитывающими работу с переходом на летнее время.
Работа с значениями даты и времени в Pandas может быть пугающим процессом! Изучите, как завершить эту распространенную функцию с помощью простого пошагового.
Короткий ответ: используйте Pandas pd.timedelta()
Оглавление
Если у вас нет набора данных для практики, но вы хотите следовать инструкциям, не стесняйтесь использовать приведенный ниже пример
Обратите внимание, что мы использовали функцию Pandas .to_datetime()
для преобразования столбца Arrival Date
в тип данных datetime. Это может быть полезно, когда Pandas не может автоматически распознать столбцы как тип datetime
Вывод этого датафрейма
Представим, что эти данные представляют людей, регистрирующихся в курорте. У нас есть три столбца:
Name
: указывает на имя человека,
Arrival Date
: дата, когда человек прибыл
Stay Length
: как долго человек оставался
В этом разделе вы узнаете, как использовать Pandas для добавления постоянных дней в столбец даты. Это может быть очень полезно, когда вы хотите добавить предопределенное количество дней в столбец. Это может быть полезно, когда вы пытаетесь определить, скажем, право на строку на основе того, когда произошло событие.
Давайте посмотрим, как мы можем использовать функцию Pandas .Timedelta()
, чтобы добавить постоянное количество дней к столбец.
Вот что мы сделали:
Создали новый столбец под названием Two weeks later
, предназначенный для хранения данных о 14 днях после события.
Мы добавляем объект pd.Timedelta()
непосредственно к столбцу Arrival Date
В объект Timedelta() мы передаем days=14
в качестве аргумента
Нам нужно сделать этот шаг, вместо того чтобы, скажем, просто добавить 14, потому что Pandas необходимо указать, что мы хотим добавить 14 дней к нашему столбцу.
Теперь давайте рассмотрим, как можно добавить дни к столбцу на основе значений другого столбца.
Бывают случаи, когда вы хотите использовать Pandas для добавления дней к одному столбцу на основе значений другого столбца. Например, у вас может быть начальная дата и столбец с количеством дней, и нужно вычислить конечную дату.
Если вы следили за нашим примером, вам может быть интересно, когда гость выехал. Это можно рассчитать, прибавив колонку Arrival Date
к колонке Stay Length
. Однако, как обсуждалось в предыдущем разделе, мы не можем просто сложить эти две колонки.
Давайте посмотрим, как мы можем использовать Python и Pandas для этого
Здесь мы использовали метод Pandas .to_timedelta()
, чтобы преобразовать столбец Stay Length
в объект timedelta. Мы сделали это, передав столбец как аргумент и указав 'D' для дней в параметре unit=
.
Pandas предлагает две разные функции для добавления дней: функцию Pandas .Timedelta()
и функцию Pandas .DateOffset()
. Разница между этими двумя функциями может быть не сразу видна.
Функция Pandas .Timedelta()
всегда будет считать день равным 24 часам, даже когда день может фактически составлять 23 или 25 часов (например, из-за перехода на летнее время). Функция .DateOffset()
зависима от часового пояса и будет это учитывать.
Если работа с часовыми поясами является критически важной для вашей работы и вам нужно, чтобы ваши функции это учитывали, используйте функцию .DateOffset()
из библиотеки.
В этой статье вы узнали, как использовать Pandas для добавления дней к столбцу, как путем добавления постоянного количества дней, так и на основе значения другого столбца. В заключение, вы изучили разницу между функцией Pandas .Timedelta()
и функцией Pandas .DateOffset()
.
Чтобы узнать больше о Pandas timedelta, . Для получения информации о функции Pandas DateOffset, вы можете ознакомиться с .