Pandas: so ermitteln sie den tag des jahres aus dem datum
Sie können die folgende grundlegende Syntax verwenden, um den Tag des Jahres aus einer Datumsspalte in einem Pandas-DataFrame abzurufen:
df[' day_of_year '] = df[' date ']. dt . dayofyear
In diesem speziellen Beispiel wird eine neue Spalte namens day_of_year erstellt, die den Tag des Jahres des Werts in der Datumsspalte enthält.
Beachten Sie, dass die Werte für day_of_year zwischen 1 (1. Januar) und 365 (31. Dezember) liegen.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Ermitteln Sie den Tag des Jahres aus dem Datum in Pandas
Angenommen, wir haben den folgenden Pandas-DataFrame, der Informationen über die Gesamtverkäufe in einem Geschäft zu verschiedenen Terminen enthält:
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
Verwandte Themen: So erstellen Sie einen Datumsbereich in Pandas
Mit dem folgenden Code können wir eine neue Spalte namens day_of_year erstellen, die den Tag des Jahres aus der Datumsspalte enthält:
#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
Die neue Spalte mit dem Namen day_of_year enthält den Tag des Jahres der Datumsspalte .
Es ist zu beachten, dass diese Funktion den Bereich der möglichen Werte automatisch von 365 auf 366 erweitert, wenn Sie mit einem Schaltjahr arbeiten.
Beachten Sie außerdem, dass Sie, wenn es sich bei der Spalte, mit der Sie arbeiten, um eine Zeichenfolgenspalte handelt, zunächst pd.to_datetime() verwenden müssen, um Zeichenfolgen in erkennbare Datumsangaben umzuwandeln:
#convert string column to datetime and calculate day of year
df[' day_of_year '] = pd. to_datetime (df[' date ']). dt . dayofyear
Hinweis : Die vollständige Dokumentation der Pandas- DayofYear- Funktion finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:
So addieren und subtrahieren Sie Tage zu einem Datum in Pandas
So wählen Sie Zeilen zwischen zwei Datumsangaben in Pandas aus
So erstellen Sie in Pandas eine Datumsspalte aus Jahr, Monat und Tag