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

如何从Pandas DataFrame的timestamp时间戳列提取仅日期部分

解法

你可以通过以下两种常用方式实现需求:

方法1:直接字符串切片(适合timestamp列为字符串类型的场景)

直接用Pandas自带的字符串访问器str对每一行做切片取前10位即可,代码如下:

# 直接得到你要的结果序列
date_series = df['timestamp'].str[:10]

# 如果需要新增列存储结果
df['date'] = df['timestamp'].str[:10]

如果不确定列类型,怕非字符串格式报错,可以先统一转成字符串再切片,兼容性更强:

date_series = df['timestamp'].astype(str).str[:10]

方法2:转datetime类型后提取(适合后续还要做时间运算的场景)

如果后续还要基于时间列做筛选、计算差值等操作,建议先把该列转成Pandas的datetime格式,再提取日期部分:

# 转换列类型为datetime
df['timestamp'] = pd.to_datetime(df['timestamp'])
# 提取日期后转成字符串,得到目标格式
date_series = df['timestamp'].dt.date.astype(str)

两种方法输出的结果都和你要求的格式一致:

0    2017-06-04
1    2017-06-04
2    2017-06-04
3    2017-06-04
4    2017-06-04

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:27:03