我想要变量b,当b在(-2,2)之间时,输出为b;当超出域(-2,2)时,输出为0.我尝试了很多次。问题是它无法连续工作,前几行输出0。但是,仍然有一些小于-2的值,输出是b本身,它应该是0。
for k in range (nz):
b = xg- nl*z[k]
c = xg- nt*z[k]
b = np.array(b)
c = np.array(c)
np.where((b > -2)&(b<2) ,b,0)
np.where(( c >-2) & (c < 2),c,0)
答案 0 :(得分:0)
如果将多个掩蔽数组相乘怎么办?
import numpy as np
a = np.arange(-5,5)
# [-5 -4 -3 -2 -1 0 1 2 3 4]
cond = (a>-2)*(a<2)
b = np.where(cond,a,0)
# [ 0 0 0 0 -1 0 1 0 0 0]