如何在Python DataFrame中将“2011-04-29 00:00:00”转为“29-Apr-2011”格式
Pandas 日期格式转换实现方案
首先确认日期存储的位置,分两种情况操作:
情况1:日期存储在col_1普通列中
- 先将列转换为 datetime 类型(如果已经是datetime类型可跳过此步)
import pandas as pd df['col_1'] = pd.to_datetime(df['col_1'])
- 格式化日期为
日-月份缩写-年的目标格式
df['col_1'] = df['col_1'].dt.strftime('%d-%b-%Y')
情况2:日期是DataFrame的索引(即示例中2011-04-29 00:00:00是索引值)
- 先确认索引为datetime类型(非datetime类型可先用
df.index = pd.to_datetime(df.index)转换) - 直接格式化索引:
df.index = df.index.strftime('%d-%b-%Y')
常见问题处理
如果输出的月份为中文/其他语言而非英文缩写,可先指定英文时间 locale 再执行格式化:
import locale # Windows 系统可替换为 'English_US' locale.setlocale(locale.LC_TIME, 'en_US.UTF-8')
- 格式符说明:
%d:两位数字表示的日期,取值范围01~31%b:英文月份缩写,比如Apr对应4月%Y:四位数字表示的年份
内容的提问来源于stack exchange,提问作者Chandan N
相关产品推荐
相关产品推荐

