我有一个包含不同列的数据框。一列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"]) ?
答案 0 :(得分:1)
要按多列索引,请在索引运算符内部创建一个列表。请注意,DataFrame上的replace方法将替换所有列中的所有匹配项(因此,如果两个列中都有'a'值,但只想替换其中一个,则它的行为可能会有所不同)。
df[['x', 'y']] = df[['x', 'y']].replace({'a':'not a','b':'not b'})