Python:如果列满足条件,则更改该列中的值。

15 浏览
0 Comments

Python:如果列满足条件,则更改该列中的值。

如果列col2的值为0,我应该如何将10添加到任何值中?对于一个更大的数据框架,这是一般情况。

所以我得到的结果是:

     col1 col2
row1    1   2
row2    3   10

这样可以得到正确的行:

df2.loc[lambda df2: df2['col2'] == 0 ] 

而这样会对整行进行操作,这不是我想要的:

df2.loc[df2['col2'] == 0 ] = 10

0
0 Comments

问题出现的原因是需要根据某一列的条件来改变该列的值。解决这个问题的方法是使用Python中的numpy库中的np.where()函数。具体的解决方法是,首先导入numpy库,然后使用np.where()函数来判断列'col2'是否满足条件df['col2']==0,如果满足则将该列的值改为10,如果不满足则保持原值。最后将新的列赋值给'col2'列,即可达到改变该列的值的目的。

0