Pandy: jak uzyskać dzień roku z daty


Aby uzyskać dzień roku z kolumny daty w ramce DataFrame pandy, możesz użyć następującej podstawowej składni:

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

W tym konkretnym przykładzie tworzona jest nowa kolumna o nazwie dzień_roku , która zawiera dzień roku wartości w kolumnie daty .

Należy pamiętać, że wartości day_of_year będą się wahać od 1 (1 stycznia) do 365 (31 grudnia).

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Uzyskaj dzień roku z daty w Pandach

Załóżmy, że mamy następującą pandę DataFrame, która zawiera informacje o łącznej sprzedaży zrealizowanej w sklepie w różnych datach:

 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

Powiązane: Jak utworzyć zakres dat w Pandach

Możemy użyć poniższego kodu, aby utworzyć nową kolumnę o nazwie dzień_roku , która zawiera dzień roku z kolumny daty :

 #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

Nowa kolumna o nazwie dzień_roku zawiera dzień roku z kolumny daty .

Należy zauważyć, że jeśli pracujesz z rokiem przestępnym, funkcja ta automatycznie rozszerzy zakres możliwych wartości z 365 do 366.

Pamiętaj też, że jeśli kolumna, z którą pracujesz, jest kolumną typu string, musisz najpierw użyć pd.to_datetime() w celu przekonwertowania ciągów na rozpoznawalne daty:

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

Uwaga : pełną dokumentację funkcji dnia roku pandy można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje na pandach:

Jak dodawać i odejmować dni od daty w Pandach
Jak wybrać wiersze między dwiema datami w Pandach
Jak utworzyć kolumnę daty z roku, miesiąca i dnia w Pandach

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *