Wie man Monat und Jahr getrennt aus der Datetime-Spalte in Pandas extrahiert
-
pandas.Series.dt.year()
undpandas.Series.dt.month()
Methoden zum Extrahieren von Monat und Jahr -
strftime()
Methode zum Extrahieren von Jahr und Monat -
pandas.DatetimeIndex.month
undpandas.DatetimeIndex.year
zum Extrahieren von Jahr und Monat
Wir könnten Jahr und Monat aus der Spalte Datetime
mit den Methoden pandas.Series.dt.year()
bzw. pandas.Series.dt.month()
extrahieren. Wenn die Daten nicht vom Typ Datetime
sind, müssen wir sie zunächst in Datetime
konvertieren. Wir können auch Jahr und Monat extrahieren, indem wir pandas.DatetimeIndex.month
zusammen mit pandas.DatetimeIndex.year
und strftime()
Methode verwenden.
pandas.Series.dt.year()
und pandas.Series.dt.month()
Methoden zum Extrahieren von Monat und Jahr
Die Methoden pandas.Series.dt.year()
und pandas.Series.dt.month()
, die auf den Typ Datetime
angewendet werden, liefern ein NumPy
Array von Jahr bzw. Monat des Eintrags Datetime
im Serienobjekt.
import pandas as pd
import numpy as np
import datetime
list_of_dates = ["2019-11-20", "2020-01-02", "2020-02-05", "2020-03-10", "2020-04-16"]
employees = ["Hisila", "Shristi", "Zeppy", "Alina", "Jerry"]
df = pd.DataFrame({"Joined date": pd.to_datetime(list_of_dates)}, index=employees)
df["Year"] = df["Joined date"].dt.year
df["Month"] = df["Joined date"].dt.month
print(df)
Ausgabe:
Joined date Year Month
Hisila 2019-11-20 2019 11
Shristi 2020-01-02 2020 1
Zeppy 2020-02-05 2020 2
Alina 2020-03-10 2020 3
Jerry 2020-04-16 2020 4
Wenn die Spalte jedoch nicht vom Typ Datetime
ist, sollten wir die Spalte zunächst mit der Methode to_datetime()
in den Typ Datetime
konvertieren.
import pandas as pd
import numpy as np
import datetime
list_of_dates = ["11/20/2019", "01/02/2020", "02/05/2020", "03/10/2020", "04/16/2020"]
employees = ["Hisila", "Shristi", "Zeppy", "Alina", "Jerry"]
df = pd.DataFrame({"Joined date": pd.to_datetime(list_of_dates)}, index=employees)
df["Joined date"] = pd.to_datetime(df["Joined date"])
df["Year"] = df["Joined date"].dt.year
df["Month"] = df["Joined date"].dt.month
print(df)
Ausgabe:
Joined date Year Month
Hisila 2019-11-20 2019 11
Shristi 2020-01-02 2020 1
Zeppy 2020-02-05 2020 2
Alina 2020-03-10 2020 3
Jerry 2020-04-16 2020 4
strftime()
Methode zum Extrahieren von Jahr und Monat
Die Methode strftime()
nimmt Datetime Formatcodes als Eingabe und gibt eine Zeichenkette zurück, die das in der Ausgabe angegebene spezifische Format repräsentiert. Wir benutzen %Y
und %m
als Formatcodes, um Jahr und Monat zu extrahieren.
import pandas as pd
import numpy as np
import datetime
list_of_dates = ["2019-11-20", "2020-01-02", "2020-02-05", "2020-03-10", "2020-04-16"]
employees = ["Hisila", "Shristi", "Zeppy", "Alina", "Jerry"]
df = pd.DataFrame({"Joined date": pd.to_datetime(list_of_dates)}, index=employees)
df["year"] = df["Joined date"].dt.strftime("%Y")
df["month"] = df["Joined date"].dt.strftime("%m")
print(df)
Ausgabe:
Joined date year month
Hisila 2019-11-20 2019 11
Shristi 2020-01-02 2020 01
Zeppy 2020-02-05 2020 02
Alina 2020-03-10 2020 03
Jerry 2020-04-16 2020 04
pandas.DatetimeIndex.month
und pandas.DatetimeIndex.year
zum Extrahieren von Jahr und Monat
Ein weiterer einfacher Ansatz zur Extraktion von Monat und Jahr aus der Spalte Datetime
besteht darin, die Werte der Jahres- und Monatsattribute von Objekten der Klasse pandas.DatetimeIndex
abzurufen.
import pandas as pd
import numpy as np
import datetime
list_of_dates = ["2019-11-20", "2020-01-02", "2020-02-05", "2020-03-10", "2020-04-16"]
employees = ["Hisila", "Shristi", "Zeppy", "Alina", "Jerry"]
df = pd.DataFrame({"Joined date": pd.to_datetime(list_of_dates)}, index=employees)
df["year"] = pd.DatetimeIndex(df["Joined date"]).year
df["month"] = pd.DatetimeIndex(df["Joined date"]).month
print(df)
Ausgabe:
Joined date Year Month
Hisila 2019-11-20 2019 11
Shristi 2020-01-02 2020 1
Zeppy 2020-02-05 2020 2
Alina 2020-03-10 2020 3
Jerry 2020-04-16 2020 4
Die Klasse pandas.DatetimeIndex
ist ein unveränderliches ndarray von datetime64-Daten. Sie hat Attribute wie year
, month
, day
, usw.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn