📜  如何在Python中更改 Pandas 日期时间格式?(1)

📅  最后修改于: 2023-12-03 14:52:50.553000             🧑  作者: Mango

如何在Python中更改 Pandas 日期时间格式?

在数据分析和处理中,日期和时间是重要的数据类型之一。在Python中,Pandas库提供了方便的工具用于处理日期和时间数据。本文将介绍如何在Python中更改 Pandas 日期时间格式。

Pandas 日期时间格式

在 Pandas 中,日期和时间数据类型通常有两种表示方式:表示为字符串或表示为时间戳。

日期时间字符串通常采用标准的ISO格式,如"2021-05-01T12:00:00"或"2021/05/01 12:00:00"。

时间戳是从1970年1月1日开始计算的秒数,也称为UNIX时间戳。Pandas库提供了数据类型Timestamp来表示时间戳类型的数据。

更改 Pandas 日期时间格式

在 Pandas 中,我们可以使用to_datetime()方法将日期时间字符串转换为Timestamp格式。这个方法可以自动根据输入的字符串格式进行解析,如果无法解析,则返回NaT(Not a Time)。

import pandas as pd

dates = ["2021-05-01T12:00:00", "2021-05-02T12:00:00", "2021-05-03T12:00:00"]
df = pd.DataFrame({"dates": dates})
df["dates"] = pd.to_datetime(df["dates"])
print(df)

输出结果为:

                dates
0 2021-05-01 12:00:00
1 2021-05-02 12:00:00
2 2021-05-03 12:00:00

可以看到,程序将字符串格式的日期时间转换为Pandas库的Timestamp格式,便于后续计算和处理。

在默认情况下,Pandas库将Timestamp格式的日期时间转换为ISO格式的字符串。但我们也可以使用strftime()方法或直接在DataFrame中修改格式来更改时间格式。

# 使用strftime()方法更改时间格式
df["dates"] = df["dates"].dt.strftime("%Y/%m/%d %H:%M:%S")
print(df)

# 直接在DataFrame中修改时间格式
df["dates"] = df["dates"].dt.strftime("%Y/%m/%d %H:%M:%S")
print(df)

输出结果为:

                  dates
0  2021/05/01 12:00:00
1  2021/05/02 12:00:00
2  2021/05/03 12:00:00

可以看到,使用strftime()方法或在DataFrame中直接修改格式都可以更改时间格式。需要注意的是,在DatetimeIndex索引对象中,修改格式后的结果将自动成为新的索引时间格式。

小结

在本文中,我们介绍了如何使用Pandas库在Python中处理日期和时间数据。除了使用to_datetime()方法将字符串转换为Timestamp格式之外,还介绍了如何更改时间格式。在数据分析和处理中,日期和时间经常需要进行格式转换和处理,我们可以灵活地使用Pandas库提供的工具完成这些任务。