Panda's: hoe u de dag van het jaar vanaf de datum kunt krijgen
U kunt de volgende basissyntaxis gebruiken om de dag van het jaar uit een datumkolom in een Panda DataFrame te halen:
df[' day_of_year '] = df[' date ']. dt . dayofyear
In dit specifieke voorbeeld wordt een nieuwe kolom gemaakt met de naam day_of_year die de dag van het jaar van de waarde in de datumkolom bevat.
Houd er rekening mee dat de waarden voor day_of_year variëren van 1 (1 januari) tot 365 (31 december).
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Haal de dag van het jaar op uit de datum in Panda’s
Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over de totale omzet in een winkel op verschillende data:
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
Gerelateerd: Hoe u een datumbereik in Panda’s kunt maken
We kunnen de volgende code gebruiken om een nieuwe kolom te maken met de naam day_of_year die de dag van het jaar uit de datumkolom bevat:
#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
De nieuwe kolom genaamd day_of_year bevat de dag van het jaar van de datumkolom .
Opgemerkt moet worden dat als u met een schrikkeljaar werkt, deze functie het bereik van mogelijke waarden automatisch uitbreidt van 365 naar 366.
Houd er ook rekening mee dat als de kolom waarmee u werkt een stringkolom is, u eerst pd.to_datetime() moet gebruiken om strings naar herkenbare datums te converteren:
#convert string column to datetime and calculate day of year
df[' day_of_year '] = pd. to_datetime (df[' date ']). dt . dayofyear
Opmerking : u kunt de volledige documentatie van de panda- dag-van-jaar- functie hier vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:
Dagen optellen en aftrekken van een datum in Pandas
Hoe rijen tussen twee datums in Pandas te selecteren
Hoe u een datumkolom van jaar, maand en dag maakt in Pandas