Pandas: erstellen sie eine datumsspalte aus jahr, monat und tag


Sie können die folgende grundlegende Syntax verwenden, um eine Datumsspalte aus den Jahres-, Monats- und Tagesspalten in einem Pandas-DataFrame zu erstellen:

 df[' date '] = pd. to_datetime (dict(year=df. year , month=df. month , day=df. day ))

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Erstellen Sie in Pandas eine Datumsspalte aus Jahr, Monat und Tag

Nehmen wir an, wir haben den folgenden Pandas-DataFrame, der die Verkäufe eines Unternehmens zu verschiedenen Daten anzeigt:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' year ': [2021, 2022, 2022, 2022, 2022, 2022, 2022, 2022],
                   ' month ': [7, 1, 1, 2, 5, 10, 11, 12],
                   ' day ': [4, 15, 25, 27, 27, 24, 10, 18],
                   ' sales ': [140, 200, 250, 180, 130, 87, 90, 95]})

#view DataFrame
print (df)

   year month day sales
0 2021 7 4 140
1 2022 1 15 200
2 2022 1 25 250
3 2022 2 27 180
4 2022 5 27 130
5 2022 10 24 87
6 2022 11 10 90
7 2022 12 18 95

Mit der folgenden Syntax können wir eine neue Spalte mit dem Namen „Datum“ erstellen, die die Werte der Spalten „ Jahr“ , „Monat “ und „ Tag “ im DataFrame kombiniert, um ein Datum für jede Zeile zu erstellen:

 #create date columns from year, month, and day columns
df[' date '] = pd. to_datetime (dict(year=df. year , month=df. month , day=df. day ))

#view updated DataFrame
print (df)

   year month day sales date
0 2021 7 4 140 2021-07-04
1 2022 1 15 200 2022-01-15
2 2022 1 25 250 2022-01-25
3 2022 2 27 180 2022-02-27
4 2022 5 27 130 2022-05-27
5 2022 10 24 87 2022-10-24
6 2022 11 10 90 2022-11-10
7 2022 12 18 95 2022-12-18

Beachten Sie, dass die Datumsspalte Datumswerte enthält, die auf den Werten in den Spalten Jahr , Monat und Tag in jeder Zeile basieren.

Wenn wir df.info() verwenden, um Informationen zu jeder Spalte im DataFrame abzurufen, können wir sehen, dass die neue Datumsspalte einen datetime64 -Datentyp hat:

 #display information about each column in DataFrame
df. info ()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8 entries, 0 to 7
Data columns (total 5 columns):
 # Column Non-Null Count Dtype         
--- ------ -------------- -----         
 0 year 8 non-null int64         
 1 month 8 non-null int64         
 2 day 8 non-null int64         
 3 dirty 8 non-null int64         
 4 date 8 non-null datetime64[ns]
dtypes: datetime64[ns](1), int64(4)
memory usage: 388.0 bytes

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 berechnen Sie eine Differenz zwischen zwei Daten in Pandas

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert