a并且b是一维numpy数组(或python列表):我正在这样做:>>> c = [x/y for x,y in zip(a,b)]有时b其中有零-因此会发生被零除的错误。如何有条件地检查中的0值b并将对应的元素设置c为0?
3 回答

四季花海
TA贡献1811条经验 获得超5个赞
似乎numpy默认情况下您要执行的操作:
>>> a = np.array([1,2,3])
>>> b = np.array([0,1,3])
>>> a / b
array([0, 2, 1])
如@Jaime所指出的,如果至少一个array类型为float类型,则除以0会得到inf,因此您需要执行以下操作:
>>> a = np.array([1,2,3], dtype='float')
>>> b = np.array([0,1,3], dtype='float')
>>> c = a / b
>>> c
array([ inf, 2., 1.])
>>> c[c == np.inf] = 0
>>> c
array([ 0., 2., 1.])
添加回答
举报
0/150
提交
取消