我有一个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中循环。如果您知道如何做到这一点,那就更加欢迎。
最佳答案
在熊猫中,您可以使用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