Comment extraire le mois et l'année séparément de la colonne Datetime dans Pandas
-
pandas.Series.dt.year()
etpandas.Series.dt.month()
méthodes pour extraire le mois et l’année -
Méthode
strftime()
pour extraire l’année et le mois -
pandas.DatetimeIndex.month
etpandas.DatetimeIndex.year
pour extraire l’année et le mois
Nous pourrions extraire l’année et le mois de la colonne Datetime
en utilisant respectivement les méthodes pandas.Series.dt.year()
et pandas.Series.dt.month()
. Si les données ne sont pas de type Datetime
, nous devons d’abord les convertir en Datetime
. Nous pouvons également extraire l’année et le mois en utilisant pandas.DatetimeIndex.month
ainsi que les méthodes pandas.DatetimeIndex.year
et strftime()
.
pandas.Series.dt.year()
et pandas.Series.dt.month()
méthodes pour extraire le mois et l’année
Les méthodes pandas.Series.dt.year()
et pandas.Series.dt.month()
appliquées au type Datetime
retournent le tableau NumPy
de l’année et du mois respectivement de l’entrée Datetime
dans l’objet série.
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)
Production:
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
Cependant, si la colonne n’est pas de type Datetime
, nous devons d’abord convertir la colonne en type Datetime
en utilisant la méthode to_datetime()
.
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)
Production:
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
Méthode strftime()
pour extraire l’année et le mois
La méthode strftime()
prend Datetime prend les codes de format en entrée et retourne une chaîne représentant le format spécifique spécifié en sortie. Nous utilisons %Y
et %m
comme codes de format pour extraire l’année et le mois.
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)
Production:
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
et pandas.DatetimeIndex.year
pour extraire l’année et le mois
Une autre approche simple pour extraire le mois et l’année de la colonne Datetime
consiste à récupérer les valeurs des attributs year et month des objets de pandas.DatetimeIndex
](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DatetimeIndex.html) classe.
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)
Production:
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
La classe pandas.DatetimeIndex
est un ndarray immuable de données datetime64. Il a des attributs comme year
, month
, day
, etc.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn