Numpy数组中np.where方法如何详细解析和应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计945个文字,预计阅读时间需要4分钟。
`numpy.where` 函数有两种用法:
1.`np.where(condition, x, y)`:当条件满足时输出 `x`,不满足时输出 `y`。
2.如果是单维数组,可以理解为 `xv if c else yv for (c, xv, yv) in zip(condition, x, y)` 的形式,逐元素进行条件判断。
numpy.where (condition[, x, y])
numpy.where() 有两种用法:
1. np.where(condition, x, y)
满足条件(condition),输出x,不满足输出y。
如果是一维数组,相当于[xv if c else yv for (c,xv,yv) in zip(condition,x,y)]
>>> aa = np.arange(10) >>> np.where(aa,1,-1) array([-1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) # 0为False,所以第一个输出-1 >>> np.where(aa > 5,1,-1) array([-1, -1, -1, -1, -1, -1, 1, 1, 1, 1]) >>> np.where([[True,False], [True,True]], # 官网上的例子 [[1,2], [3,4]], [[9,8], [7,6]]) array([[1, 8], [3, 4]])
上面这个例子的条件为[[True,False], [True,False]],分别对应最后输出结果的四个值。
本文共计945个文字,预计阅读时间需要4分钟。
`numpy.where` 函数有两种用法:
1.`np.where(condition, x, y)`:当条件满足时输出 `x`,不满足时输出 `y`。
2.如果是单维数组,可以理解为 `xv if c else yv for (c, xv, yv) in zip(condition, x, y)` 的形式,逐元素进行条件判断。
numpy.where (condition[, x, y])
numpy.where() 有两种用法:
1. np.where(condition, x, y)
满足条件(condition),输出x,不满足输出y。
如果是一维数组,相当于[xv if c else yv for (c,xv,yv) in zip(condition,x,y)]
>>> aa = np.arange(10) >>> np.where(aa,1,-1) array([-1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) # 0为False,所以第一个输出-1 >>> np.where(aa > 5,1,-1) array([-1, -1, -1, -1, -1, -1, 1, 1, 1, 1]) >>> np.where([[True,False], [True,True]], # 官网上的例子 [[1,2], [3,4]], [[9,8], [7,6]]) array([[1, 8], [3, 4]])
上面这个例子的条件为[[True,False], [True,False]],分别对应最后输出结果的四个值。

