如果列col2的值为0,我应该如何将10添加到任何值中?对于一个更大的数据框架,这是一般情况。
所以我得到的结果是:
col1 col2 row1 1 2 row2 3 10
这样可以得到正确的行:
df2.loc[lambda df2: df2['col2'] == 0 ]
而这样会对整行进行操作,这不是我想要的:
df2.loc[df2['col2'] == 0 ] = 10
问题出现的原因是需要根据某一列的条件来改变该列的值。解决这个问题的方法是使用Python中的numpy库中的np.where()函数。具体的解决方法是,首先导入numpy库,然后使用np.where()函数来判断列'col2'是否满足条件df['col2']==0,如果满足则将该列的值改为10,如果不满足则保持原值。最后将新的列赋值给'col2'列,即可达到改变该列的值的目的。
np.where()
'col2'
df['col2']==0
用户名或电子邮箱地址
密码