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