You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中提取datetime列的年月日并转为date类型?

解决方法

针对你已经将df['date_utc']转换为datetime类型的情况,有几种简单的方式可以提取出仅包含年月日的日期列:

方法1:提取Python date 对象类型

如果你想要的是Python原生的date类型列,可以直接使用.dt.date属性:

df['date'] = df['date_utc'].dt.date

执行后,df['date']的每个元素都是datetime.date对象,打印时会自动显示为YYYY-MM-DD的格式,完全符合你的预期结果。

方法2:保留pandas datetime64类型(仅日期部分)

如果你需要的是pandas的datetime类型(时间部分固定为午夜),可以用.dt.floor('D')或者.dt.normalize():

# 方法2.1:按日期截断时间部分
df['date'] = df['date_utc'].dt.floor('D')

# 方法2.2:将时间统一设为午夜0点
df['date'] = df['date_utc'].dt.normalize()

这两种方式得到的结果是datetime64[ns]类型,时间部分固定为00:00:00,但显示时仅看日期部分的话,和你想要的格式完全一致。

测试后你会得到预期的输出:

0    2020-12-01
1    2020-11-11
2    2020-11-10
3    2020-11-08
4    2020-11-05
Name: date, dtype: object  # 方法1的dtype为object(存储date对象)
# 方法2的dtype为datetime64[ns]

内容的提问来源于stack exchange,提问作者mk2080

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:55:52