我有一个csv文件,如下所示:
Class Status Species
Sands D Carex
Clay C Carex
Loam D Poapra
当Status
为D
且Species
为Carex时,我想将Class
更改为Wet
。我想要的输出是:
Class Status Species
Wet D Carex
Clay C Carex
Loam D Poapra
我不在乎是否在熊猫中发布了答案,因为我仍然可以使用它,但我现在正在努力教我自己现在循环使用python。如果你知道如何做到这一点更受欢迎。
答案 0 :(得分:3)
在pandas中,您可以使用loc
来屏蔽df并传递括号中包含的2个布尔条件,因为运算符优先,因为在比较数组时必须使用&
运算符:
In [233]:
df.loc[(df['Status'] == 'D') & (df['Species'] == 'Carex'), 'Class'] = 'Wet'
df
Out[233]:
Class Status Species
0 Wet D Carex
1 Clay C Carex
2 Loam D Poapra