如何在Pandas中修改日期列格式?需转为日、月、年格式
解决Pandas日期转日/月/年格式的方法
首先得确认你的日期列数据类型,先在代码里加一行查看:
print(df['你的日期列名称'].dtype)
根据类型分两种处理方式:
1. 日期列已被识别为datetime类型
直接用dt.strftime()方法格式化,指定%d/%m/%Y(日/月/年)格式,分隔符可以换成-或者其他你需要的:
# 新增一列存储格式化后的日期,也可以直接覆盖原列 df['格式化日期'] = df['你的日期列名称'].dt.strftime('%d/%m/%Y')
2. 日期列是字符串类型
先把字符串转成datetime类型,再格式化。如果原始字符串有固定格式,最好指定format参数提升效率:
# 假设原始日期字符串是YYYY-MM-DD格式,根据实际情况调整format df['你的日期列名称'] = pd.to_datetime(df['你的日期列名称'], format='%Y-%m-%d') # 再格式化 df['格式化日期'] = df['你的日期列名称'].dt.strftime('%d/%m/%Y')
完整示例代码(假设日期列名为"发布日期")
import pandas as pd df = pd.read_excel(r"C:\__Imagens e Planilhas Python\Instagram\Postagem.xlsx") # 检查日期列类型 print(df['发布日期'].dtype) # 处理逻辑 if pd.api.types.is_datetime64_any_dtype(df['发布日期']): df['日-月-年'] = df['发布日期'].dt.strftime('%d-%m-%Y') else: # 若原始格式不同,修改这里的format参数 df['发布日期'] = pd.to_datetime(df['发布日期'], format='%Y-%m-%d') df['日-月-年'] = df['发布日期'].dt.strftime('%d-%m-%Y') print(df)
内容的提问来源于stack exchange,提问作者Felipe
相关产品推荐
相关产品推荐

