无法根据pandas列中的非条件替换字符串

时间:2017-01-05 15:17:17

标签: python regex pandas

我在pandas数据框中有一个列,其中我想要替换所有不是' US'进入'其他'。我尝试了以下代码。

dat.country.str.replace(to_replace='^(?!.*US)', value='Other', regex=True)

然而,我没有获得“其他”,而是获得了“其他”的结果。和旧的价值。例如,如果旧值是“中国”,则上面的代码会给我结果' OtherChina'

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

使用前瞻与替换相结合时,请记住前瞻本身是zero-width assertions - 他们实际上匹配(消费)任何字符 - 所以,将它们与{结合起来{1}}(.+如果要替换空值:)

.*