Python中的 numpy.where()
numpy.where()函数返回输入数组中满足给定条件的元素的索引。
Syntax :numpy.where(condition[, x, y])
Parameters:
condition : When True, yield x, otherwise yield y.
x, y : Values from which to choose. x, y and condition need to be broadcastable to some shape.
Returns:
out : [ndarray or tuple of ndarrays] If both x and y are specified, the output array contains elements of x where condition is True, and elements from y elsewhere.
If only condition is given, return the tuple condition.nonzero(), the indices where condition is True.
代码#1:
# Python program explaining
# where() function
import numpy as np
np.where([[True, False], [True, True]],
[[1, 2], [3, 4]], [[5, 6], [7, 8]])
输出 :
array([[1, 6],
[3, 4]])
代码#2:
# Python program explaining
# where() function
import numpy as np
# a is an array of integers.
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a)
print ('Indices of elements <4')
b = np.where(a<4)
print(b)
print("Elements which are <4")
print(a[b])
输出 :
[[1 2 3]
[4 5 6]]
Indices of elements <4
(array([0, 0, 0], dtype=int64), array([0, 1, 2], dtype=int64))
Elements which are <4
array([1, 2, 3])