Панды: как получить день года из даты


Вы можете использовать следующий базовый синтаксис, чтобы получить день года из столбца даты в DataFrame pandas:

 df[' day_of_year '] = df[' date ']. dt . dayofyear

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

Обратите внимание, что значения day_of_year будут находиться в диапазоне от 1 (1 января) до 365 (31 декабря).

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: получить день года по дате в Pandas

Предположим, у нас есть следующий DataFrame pandas, который содержит информацию об общем объеме продаж, совершенных в магазине в разные даты:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': pd.date_range (start=' 1/1/2022 ', freq=' M ', periods= 10 ),
                   ' sales ': [6, 8, 10, 5, 4, 8, 8, 3, 5, 14]})

#view DataFrame
print (df)

         dirty date
0 2022-01-31 6
1 2022-02-28 8
2 2022-03-31 10
3 2022-04-30 5
4 2022-05-31 4
5 2022-06-30 8
6 2022-07-31 8
7 2022-08-31 3
8 2022-09-30 5
9 2022-10-31 14

Связанный: Как создать диапазон дат в Pandas

Мы можем использовать следующий код для создания нового столбца с именем day_of_year , который содержит день года из столбца даты :

 #create new column that contains day of year in 'date' column
df[' day_of_year '] = df[' date ']. dt . dayofyear

#view updated DataFrame
print (df)

        date sales day_of_year
0 2022-01-31 6 31
1 2022-02-28 8 59
2 2022-03-31 10 90
3 2022-04-30 5 120
4 2022-05-31 4 151
5 2022-06-30 8,181
6 2022-07-31 8,212
7 2022-08-31 3,243
8 2022-09-30 5,273
9 2022-10-31 14,304

Новый столбец с именем day_of_year содержит день года столбца даты .

Следует отметить, что если вы работаете с високосным годом, эта функция автоматически расширит диапазон возможных значений с 365 до 366.

Также обратите внимание: если столбец, с которым вы работаете, является строковым, вы должны сначала использовать pd.to_datetime() для преобразования строк в распознаваемые даты:

 #convert string column to datetime and calculate day of year
df[' day_of_year '] = pd. to_datetime (df[' date ']). dt . dayofyear

Примечание . Полную документацию по функции pandas dayofyear можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Как добавить и вычесть дни из даты в Pandas
Как выбрать строки между двумя датами в Pandas
Как создать столбец даты из года, месяца и дня в Pandas

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *