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

如何使用Pandas将datetime格式转换为仅保留日期的格式

Pandas datetime类型提取日期的实现方法

首先提前提条件:操作前请确保目标列已经转换为Pandas的datetime64类型,如果还没转换可以先执行以下代码:

df['目标列名'] = pd.to_datetime(df['目标列名'])

需求1:转换为2021-11-15格式

分两种场景选择实现方式:

  • 如果你后续需要对日期做运算、对比,建议保留日期类型,使用.dt.date属性:
    代码:df['仅日期列'] = df['目标列名'].dt.date
    该方法返回Python原生datetime.date对象,打印展示就是2021-11-15格式,无时间部分。
  • 如果你需要输出为文本格式,使用.dt.strftime方法指定格式:
    代码:df['日期字符串列'] = df['目标列名'].dt.strftime('%Y-%m-%d')

需求2:转换为(2021,11,15)元组格式

推荐用向量化操作实现,比apply效率更高:

df['日期元组列'] = pd.MultiIndex.from_arrays([
    df['目标列名'].dt.year, 
    df['目标列名'].dt.month, 
    df['目标列名'].dt.day
]).tuples

完整测试示例

import pandas as pd

# 构造测试数据
df = pd.DataFrame({'datetime_col': ['2021-11-15 00:00:00', '2023-05-20 14:30:00']})
# 转换为datetime类型
df['datetime_col'] = pd.to_datetime(df['datetime_col'])

# 生成两种格式的结果
df['date_ymd'] = df['datetime_col'].dt.date
df['date_tuple'] = pd.MultiIndex.from_arrays([df['datetime_col'].dt.year, df['datetime_col'].dt.month, df['datetime_col'].dt.day]).tuples

print(df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:45:01