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

如何替换DataFrame列中的字符串(如将[12/12/12]改为[12-12-12])

原代码不生效的原因

你调用的df['tran_date'].replace('/','-')默认为全值匹配模式,仅当单元格内容完全等于/时才会执行替换,无法匹配并替换日期字符串中的/子串;且pandas操作默认返回新对象,未赋值回原列的话原数据不会发生修改。

正确实现方法
  • 方案1(推荐,字符串子串替换专用):使用str.replace方法针对字符串内容做子串匹配替换,完成后赋值回原列
df['tran_date'] = df['tran_date'].str.replace('/', '-', regex=False)
  • 方案2(使用replace方法开启正则匹配):给replace方法加regex=True参数实现子串匹配
df['tran_date'] = df['tran_date'].replace('/', '-', regex=True)
额外注意事项

如果tran_date列数据类型不是字符串,可先转字符串再处理:

df['tran_date'] = df['tran_date'].astype(str).str.replace('/', '-', regex=False)

如果需要保留原数据不修改,可先将处理后的数据赋值给新列,避免覆盖原字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:09:02