我的数据框中有一列,如下所示:
range "(2,30)" "(50,290)" "(400,1000)" ...
我想用破折号替换,逗号。-我目前正在使用这种方法,但没有任何改变。
,
-
org_info_exc['range'].replace(',', '-', inplace=True)
有人可以帮忙吗?
使用矢量化str方法replace:
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
在这里,我们在第二行得到了完全匹配,并且发生了替换。