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

在Pandas DataFrame中截取日期时间中的日期部分

嗨,这个需求太常见了,给你几个简单好用的方案,根据你的后续需求选就行:

方案1:转成Pandas时间类型后提取日期(推荐用于后续需时间操作的场景)

Pandas的pd.to_datetime()可以完美识别你这种ISO格式的时间字符串,转成时间类型后,就能轻松提取年月日:

import pandas as pd

# 假设你的DataFrame是df,时间列名为'timestamp'
df['timestamp'] = pd.to_datetime(df['timestamp'])

# 提取为Python date对象(格式是YYYY-MM-DD的date类型)
df['date_only'] = df['timestamp'].dt.date

# 或者提取为字符串格式的年月日
df['date_str'] = df['timestamp'].dt.strftime('%Y-%m-%d')

这个方法的好处是,转成时间类型后,你后续如果要做日期筛选、排序、计算时间差之类的操作会非常方便。

方案2:直接字符串截取(适合仅需字符串结果的场景)

既然你的时间格式是固定的YYYY-MM-DDTHH:MM:SS,而且时间部分都是00:00:00,那直接对字符串操作更高效,不需要转时间类型:

# 方法A:按'T'分割,取分割后的第一部分
df['date_str'] = df['timestamp'].str.split('T').str[0]

# 方法B:直接截取前10个字符(因为YYYY-MM-DD刚好是10位)
df['date_str'] = df['timestamp'].str[:10]

这个方法速度更快,适合只需要拿到字符串形式年月日的场景。

选哪个就看你之后要不要对这个日期列做时间相关的操作啦~

内容的提问来源于stack exchange,提问作者Life Long Learner

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:12:57