根据条件设置pandas df cell的值

时间:2021-01-12 15:44:34

标签: python pandas dataframe

我的df如下:

enter image description here

我想做的是, 条件:Fruit Name 不是 (Apple or Mango) 且 veggie Name== 否 操作:在 Veggie ColorEnjoy Eating = Unicorn

中设置值

我的代码是

df.loc[(~df["Fruit Name"].isin(["Apple","Mango"]))& (df["Veggie Name"]=="Potato"),["Veggie Color","Enjoy Eating"]]="Unicorn"

虽然它是这样的

enter image description here

它将 NaN 设置为其他单元格

enter image description here

我错过了什么?

1 个答案:

答案 0 :(得分:0)

您没有使用列 Enjoy Eating? 的确切名称,因此它创建了一个名为 Enjoy Eating 的新列,默认值为 NaN。只需添加问号,它就会按预期工作。

df.loc[(~df["Fruit Name"].isin(["Apple","Mango"]))& (df["Veggie Name"]=="Potato"),["Veggie Color","Enjoy Eating?"]]="Unicorn"