python – 如何在Pandas中将negative列和Nan列值更改为Zero

我的数据框架如下:

    A    B
10  AAA  0.0333
20  BBB  -67
30  CCC -0.98
40  DDD  NaN

如何更改B列值(仅限负值和NaN为0)

到目前为止我试过像:

df[df< 0 ] = 0 
df.fillna(0, inplace=True)

但是在一个命令中有效吗?我是熊猫新手.请告诉我这是不是最好的方法.

最佳答案 您可以使用
loc
isnull

df.loc[(df['B'] < 0) | (df['B'].isnull()), 'B'] = 0

      A       B
10  AAA  0.0333
20  BBB  0.0000
30  CCC  0.0000
40  DDD  0.0000    
点赞