在 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