Pandas: como obter o dia do ano a partir da data


Você pode usar a seguinte sintaxe básica para obter o dia do ano a partir de uma coluna de data em um DataFrame do pandas:

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

Este exemplo específico cria uma nova coluna chamada day_of_year que contém o dia do ano do valor na coluna de data .

Observe que os valores de day_of_year variarão de 1 (1º de janeiro) a 365 (31 de dezembro).

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: obter o dia do ano a partir da data no Pandas

Suponha que temos o seguinte DataFrame do pandas que contém informações sobre o total de vendas realizadas em uma loja em datas diferentes:

 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

Relacionado: Como criar um intervalo de datas no Pandas

Podemos usar o código a seguir para criar uma nova coluna chamada day_of_year que contém o dia do ano da coluna de data :

 #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

A nova coluna chamada day_of_year contém o dia do ano da coluna de data .

Deve-se observar que se você estiver trabalhando com ano bissexto, esta função ampliará automaticamente o intervalo de valores possíveis de 365 para 366.

Observe também que se a coluna com a qual você está trabalhando for uma coluna de string, você deve primeiro usar pd.to_datetime() para converter strings em datas reconhecíveis:

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

Nota : Você pode encontrar a documentação completa da função dayofyear do pandas aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Como adicionar e subtrair dias de uma data no Pandas
Como selecionar linhas entre duas datas no Pandas
Como criar uma coluna de data de ano, mês e dia no Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *