numpy.where-即使条件为False,也要计算True语句

时间:2019-12-09 15:39:25

标签: python-3.x numpy

我有两个变量,分别为s1 = 0s2 = 0,并且有一个数据框(有更多列,但与这种情况无关):

    xyz 
0    2      
1    2      
2    2      
3    0     
4    0    

我尝试使用np.where创建一个新列:

df['c'] = np.where((df['xyz']>0) & (s1 > 0) & (s2 > 0), 1/s1, 0)

但是它会引发ZeroDivisionError。为什么计算True大小写,即使条件为False。我应该如何获得理想的结果?

0 个答案:

没有答案