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

Python使用Pandas如何将DataFrame日期列从yyyy-mm-dd转为mm/dd/yyyy格式

Pandas转换日期列为无前置零mm/dd/yyyy格式解决方案

原代码错误原因

  • 你使用了中文全角引号“”,Python语法仅支持半角引号''/"",直接触发语法错误
  • df.df属于无效调用,访问DataFrame的指定列需要写为df['Date']
  • Pandas的字符串Series没有直接的strptime方法,需要先将字符串转换为datetime类型后才能调用格式化方法
  • 格式符%m、%d默认带前导零,无法满足你要的个位数无前置零的需求

正确实现方案

首先明确:Pandas内部的datetime64类型是时间存储对象,本身无固定显示格式,仅在转为字符串输出时可以自定义格式。如果需要后续做日期计算、筛选,建议保留datetime类型,仅在需要输出的时候转成指定格式的字符串。

步骤1:导入CSV时直接解析日期列

导入阶段就把字符串格式的日期转为datetime类型,省去后续转换步骤:

import pandas as pd

# parse_dates参数指定要解析为日期的列名
df = pd.read_csv('你的文件路径.csv', parse_dates=['Date'])

步骤2:转为无前置零的mm/dd/yyyy格式字符串

这里使用正则替换实现跨平台兼容,避免Windows和类Unix系统strftime去零符号不一致的问题:

# 先格式化带零的样式,再替换掉每个分段开头的前导零
df['Date'] = df['Date'].dt.strftime('%m/%d/%Y').str.replace(r'(?<!\d)0', '', regex=True)

转换后效果完全符合你的要求:

  • 2021-01-04 → 1/4/2021
  • 2021-01-12 → 1/12/2021
  • 2021-10-08 → 10/8/2021
  • 2020-11-16 → 11/16/2020

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 04:24:03