在 Python 中將 Pandas 系列的日期時間轉換為字串

Vaibhav Vaibhav 2022年5月16日
在 Python 中將 Pandas 系列的日期時間轉換為字串

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
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.