Python(使用替换从不同列替换多个值)

时间:2018-07-30 18:53:05

标签: python

我有一个包含不同列的数据框。一列x的值为“ a”,另一列y的值为“ b”,我可以使用replace同时替换两个值吗?

我可以通过两个陈述来做到

df["x"]=df["x"].replace("a","not a")
df["y"]=df["y"].replace("b","not b")

它可以正常工作,但我可以在一个语句中做到这一点吗-

df["x","y"]=df["x","y"].replace(["a","b"],["not a","not b"]) ?

1 个答案:

答案 0 :(得分:1)

要按多列索引,请在索引运算符内部创建一个列表。请注意,DataFrame上的replace方法将替换所有列中的所有匹配项(因此,如果两个列中都有'a'值,但只想替换其中一个,则它的行为可能会有所不同)。

df[['x', 'y']] = df[['x', 'y']].replace({'a':'not a','b':'not b'})