在 Python 中將 Pandas 系列的日期時間轉換為字串
Vaibhav Vaibhav
2022年5月16日
Pandas Series 是一個一維陣列,可以儲存任何資料型別和標籤。假設你有一個 Pandas 系列的 datetime
物件。我們可以使用 strftime()
函式和一些格式程式碼將 datatime
物件轉換為其等效的字串。但是要轉換 pandas 系列的 datetime
物件,要遵循的方法有點不同。本文將討論我們如何進行這樣的轉換。
將 Pandas 系列的 datetime
物件轉換為它們的等效字串
參考以下程式碼。它首先建立 pandas
系列 datetime
物件,然後將它們轉換為 pandas
系列字串物件。
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)
輸出:
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
注意輸出的 dtype
值。前者表示該系列是 datetime
物件,後者表示該系列是 string
物件。
我們還可以使用 lambda
函式來轉換物件的資料型別。相同的參考下面的程式碼。lambda
函式利用 strftime()
函式來執行轉換。
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)
輸出:
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
作者: Vaibhav Vaibhav