如何替换 Pandas 数据框字符串列中的文本?

问题描述

使用矢量化str方法replace

df['range'] = df['range'].str.replace(',','-')

df
      range
0    (2-30)
1  (50-290)

所以如果我们看看你尝试了什么以及为什么它不起作用:

df['range'].replace(',','-',inplace=True)

文档中我们看到了这个描述:

str 或正则表达式: str: 与 to_replace 完全匹配的字符串将被替换为值

所以因为 str 值不匹配,所以不会发生替换,与下面的比较:

df = pd.DataFrame({'range':['(2,30)',',']})
df['range'].replace(',','-', inplace=True)

df['range']

0    (2,30)
1         -
Name: range, dtype: object

在这里,我们在第二行得到了完全匹配,并且发生了替换。

解决方法

我的数据框中有一列,如下所示:

range
"(2,30)"
"(50,290)"
"(400,1000)"
...

我想用破折号替换,逗号。-我目前正在使用这种方法,但没有任何改变。

org_info_exc['range'].replace(',','-',inplace=True)

有人可以帮忙吗?

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...