如何使用numpy.where与逻辑运算符
答案:1 悬赏:70 手机版
解决时间 2021-03-31 14:03
- 提问者网友:鼻尖触碰
- 2021-03-30 13:49
如何使用numpy.where与逻辑运算符
最佳答案
- 五星知识达人网友:怙棘
- 2021-03-30 15:15
如果妥善地运用 where 可以表达一些很复杂的逻辑。
比如:
result =[] #创建一个叫 result 的列表
for i in range(n):
if cond1[i] and cond2[i]:
result.append(0)
elif cond1[i]:
result.append(1)
elif cond2[i]:
result.append(2)
else:
result.append(3)
对这个列表赋值的过程中包含了对四组条件的判断。如果用 where 则可以修改成如下的表达式
np.where(cond1&cond2,0,
np.where(cond1,1,
np.where(cond2,2,3)))
当然,还有一个更加高大上的表达式:
result = 1*cond1+2*cond2+3*-(cond1|cond2) #因为判断条件为真时布尔值为1,否则为0
比如:
result =[] #创建一个叫 result 的列表
for i in range(n):
if cond1[i] and cond2[i]:
result.append(0)
elif cond1[i]:
result.append(1)
elif cond2[i]:
result.append(2)
else:
result.append(3)
对这个列表赋值的过程中包含了对四组条件的判断。如果用 where 则可以修改成如下的表达式
np.where(cond1&cond2,0,
np.where(cond1,1,
np.where(cond2,2,3)))
当然,还有一个更加高大上的表达式:
result = 1*cond1+2*cond2+3*-(cond1|cond2) #因为判断条件为真时布尔值为1,否则为0
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯