熊猫只能替换正则表达式

时间:2017-08-01 13:39:34

标签: python pandas

我已经找到了解决方法,但我仍然对正在发生的事情感到好奇:

当我尝试像这样替换Pandas时:

merged4[['column1', 'column2', 'column3']] = merged4[['column1', 'column2', 'column3']].replace(to_replace='.', value=',')

它不起作用。我尝试使用Inplace的所有不同变体。我也做了astype(str)因为列是float64。

然而,当我这样做时:

merged4[['column1', 'column2', 'column3']] = merged4[['column1', 'column2', 'column3']].replace(to_replace='\.', value=',', regex=True)

它像魅力一样工作。

有问题吗?

1 个答案:

答案 0 :(得分:1)

当您不使用"include": [ path.join(process.cwd(), "src\\styles.css"), path.join(process.cwd(), "src\\main.less"), path.join(process.cwd(), "src\\common.styl") ], 时,该方法将查找replace_to值的完全匹配。当您使用regex=True时,它也会查找子字符串。所以当你使用那个参数时你的代码就可以了。 示例

当您不使用regex=True参数时,replace方法将查找系列中replace_to值的完全匹配。

regex=True
0       YoYo.
1    mins.s.s
2      sos.s.
3           ,
4    mama.mia

使用df = pd.DataFrame() df['k'] = ['YoYo.','mins.s.s','sos.s.','.','mama.mia'] df['k'].replace('.',',') 时,它甚至匹配系列的子串并更改字符串

regex = True
0       YoYo,
1    mins,s,s
2      sos,s,
3           ,
4    mama,mia