Pandas中datetime列格式转换求助:自定义格式转dd/mm/yy失败
解决方法
- 先修正代码里的两个基础错误:
strftime的格式字符串必须用引号包裹,你之前没加引号会触发语法错误- 变量名大小写要统一,代码里
Df和df大小写不一致会导致未定义错误
- 调整格式符的分隔符:你需要的是
dd/mm/yy格式,所以格式字符串应该写为"%d/%m/%y"
正确的基础代码:
df[col] = df[col].dt.strftime("%d/%m/%y")
如果执行后仍有问题,先确认该列确实是datetime类型:
# 先检查列的数据类型 print(df[col].dtype) # 如果不是datetime类型,先完成类型转换 df[col] = pd.to_datetime(df[col], format="%d %b %Y-%H:%M") # 再转换为目标格式 df[col] = df[col].dt.strftime("%d/%m/%y")
说明:
pd.to_datetime中的format="%d %b %Y-%H:%M"是用来匹配你原始数据的格式:%d对应两位日期,%b对应缩写月份(如jul),%Y对应四位年份,%H:%M对应时分- 只有先把列转成datetime类型,才能用
dt.strftime方法格式化输出
内容的提问来源于stack exchange,提问作者ataullah
相关产品推荐
相关产品推荐

