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