Konvertieren eine Pandas-Reihe von Datetime in einen String in Python
Pandas Series ist ein eindimensionales Array, das jeden Datentyp zusammen mit Labels enthalten kann. Angenommen, Sie haben eine Pandas-Reihe von datetime-Objekten. Wir können ein datatime-Objekt in sein String-Äquivalent umwandeln, indem wir die Funktion strftime() und einige Formatcodes verwenden. Aber um die datetime-Objekte einer Pandas-Serie zu konvertieren, ist die Vorgehensweise etwas anders. In diesem Artikel erfahren Sie, wie wir eine solche Konvertierung durchführen können.
Konvertieren eine Pandas-Reihe von datetime-Objekten in ihre String-Äquivalente
Siehe den folgenden Code. Es erzeugt zuerst eine pandas-Serie von datetime-Objekten und wandelt sie dann in eine pandas-Serie von String-Objekten um.
import pandas as pd
dates = pd.to_datetime(
pd.Series(["01/01/2021", "02/02/2021", "03/03/2021", "04/04/2021", "05/05/2021"]),
format="%d/%m/%Y",
)
print("Before conversion")
print(dates)
print("After conversion")
dates = dates.dt.strftime("%Y-%m-%d")
print(dates)
Ausgabe:
Before conversion
0 2021-01-01
1 2021-02-02
2 2021-03-03
3 2021-04-04
4 2021-05-05
dtype: datetime64[ns]
After conversion
0 2021-01-01
1 2021-02-02
2 2021-03-03
3 2021-04-04
4 2021-05-05
dtype: object
Beachten Sie den Wert dtype der Ausgabe. Ersteres zeigt an, dass die Serie aus datetime-Objekten besteht, und letzteres zeigt an, dass die Serie aus string-Objekten besteht.
Wir können auch die Funktion lambda verwenden, um den Datentyp der Objekte zu konvertieren. Siehe den folgenden Code für dasselbe. Die Funktion lambda verwendet die Funktion strftime(), um die Konvertierung durchzuführen.
import pandas as pd
dates = pd.to_datetime(
pd.Series(["01/01/2021", "02/02/2021", "03/03/2021", "04/04/2021", "05/05/2021"]),
format="%d/%m/%Y",
)
print("Before conversion")
print(dates)
print("After conversion")
dates = dates.apply(lambda x: x.strftime("%Y-%m-%d"))
print(dates)
Ausgabe:
Before conversion
0 2021-01-01
1 2021-02-02
2 2021-03-03
3 2021-04-04
4 2021-05-05
dtype: datetime64[ns]
After conversion
0 2021-01-01
1 2021-02-02
2 2021-03-03
3 2021-04-04
4 2021-05-05
dtype: object
