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

Python中如何从DataFrame的Timestamp列提取日期?

在Python的DataFrame中提取Timestamp列的日期部分

下面是几种实用的方法,直接针对Timestamp类型列提取日期:

  • 提取Python date对象
    使用dt.date属性可以直接获取纯日期的datetime.date对象:

    import pandas as pd
    
    # 示例DataFrame
    df = pd.DataFrame({
        "timestamp": pd.to_datetime(["2024-03-10 08:45", "2024-03-11 16:20", "2024-03-12 23:50"])
    })
    
    # 提取日期
    df["date"] = df["timestamp"].dt.date
    

    如果需要转为字符串格式,追加astype(str)即可:df["date_str"] = df["timestamp"].dt.date.astype(str)

  • 保留Timestamp类型(时间置为00:00)
    要是想保持列类型为Timestamp但只保留日期信息,用dt.normalize()或者dt.floor('D'):

    # 方法1:normalize将时间部分重置为00:00:00
    df["date_timestamp"] = df["timestamp"].dt.normalize()
    
    # 方法2:按天向下取整,效果和normalize一致
    df["date_timestamp"] = df["timestamp"].dt.floor('D')
    
  • 提取指定格式的字符串日期
    用dt.strftime()可以自定义日期字符串格式,比如%Y-%m-%d、%m/%d/%Y等:

    # 提取YYYY-MM-DD格式的字符串
    df["date_str"] = df["timestamp"].dt.strftime("%Y-%m-%d")
    
    # 提取MM/DD/YYYY格式的字符串
    df["date_str_md"] = df["timestamp"].dt.strftime("%m/%d/%Y")
    

注意:如果你的列还不是Timestamp类型,先通过pd.to_datetime(df["your_col"])转换为datetime类型后再使用上述方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 07:53:10