📌  相关文章
📜  如何在 Pandas 中将日期时间转换为日期?(1)

📅  最后修改于: 2023-12-03 15:38:22.400000             🧑  作者: Mango

如何在 Pandas 中将日期时间转换为日期?

在 Pandas 中,日期时间对象是由 pandas.Timestamp 类型表示的。Python 中的 datetime 对象可以通过 Pandas 转换为 Timestamp 对象。如果只需日期而不需要时间,则需要将 Timestamp 对象转换为日期对象。下面是如何在 Pandas 中将日期时间转换为日期的示例代码:

import pandas as pd

# 创建示例时间戳对象
ts = pd.Timestamp('2021-09-22 10:30')

# 转换为日期对象
date_only = ts.date()

# 打印结果
print(f"Timestamp: {ts}")
print(f"Date only: {date_only}")

执行以上代码将得到以下输出:

Timestamp: 2021-09-22 10:30:00
Date only: 2021-09-22

在上面的示例代码中,我们首先使用 pd.Timestamp() 函数创建了一个示例时间戳对象 ts,其日期时间为 2021 年 9 月 22 日 10:30。接着,我们使用 ts.date() 方法将 Timestamp 对象转换为日期对象,仅保留了日期部分。最后,我们打印了 Timestamp 对象和日期对象的值。

需要注意的是,如果调用 Timestamp 对象的 date() 方法,则会返回一个 datetime.date 类型的对象。如果需要在 Pandas 中继续处理日期对象,则可以将日期对象转换为 Pandas 的日期类型,即 pandas.Timestamp 类型。

如果想要将一个 Pandas 数据框的时间戳类型的列转换为日期类型,可以使用以下代码:

import pandas as pd

# 创建示例数据
df = pd.DataFrame({'date': ['2021-09-22 10:30:00', '2021-09-23 11:45:00']})

# 将 'date' 列转换为 Pandas 的日期类型
df['date'] = pd.to_datetime(df['date']).dt.date

# 打印结果
print(df)

以上代码使用 pd.to_datetime() 方法将 'date' 列中的时间戳字符串转换为 Pandas 的时间戳类型对象。随后,使用 .dt.date 属性将 Timestamp 对象转换为日期对象。

上面的代码输出如下:

         date
0  2021-09-22
1  2021-09-23

通过以上两个示例,我们了解了如何在 Pandas 中将日期时间转换为日期。你也可以根据自己的需求,进一步使用 Pandas 处理时间序列数据。