如果想对array的值进行判断,符合条件就设值为X,不符合就设值为Y,可采用np.where(条件,x,y)
其中 x,y不必是数组,都可以是标量值
假设现在有个随机array,把正数替换为2,负数替换为1:
- arr=randn(4,4)
- arr
- Out[45]:
- matrix([[-0.76576543, -0.6970707 , 0.05075991, 0.5264227 ],
- [ 1.52110163, 0.93467576, 1.27428214, -2.12140495],
- [ 0.00761238, 0.53464663, -2.20040176, 0.49967221],
- [-1.00297207, 0.41399644, 0.46360027, 0.01037172]])
- np.where(arr>0,2,-2)
- Out[46]:
- array([[-2, -2, 2, 2],
- [ 2, 2, 2, -2],
- [ 2, 2, -2, 2],
- [-2, 2, 2, 2]])
本文介绍如何使用NumPy中的np.where函数对数组元素进行条件判断并根据条件设置新值。通过一个具体的例子展示了如何将随机生成的矩阵中大于0的元素设置为2,小于等于0的元素设置为-2。
1万+

被折叠的 条评论
为什么被折叠?



