Python numpy.where()
numpy.where()函数返回输入数组中满足指定条件的元素的索引。
语法 : numpy.where(condition[, x, y])
参数:
condition :当真时,产生x,否则产生y。
x, y :x、y和条件需要可以广播到一些形状。
返回值:
out :[ndarray or tuple of ndarrays] 如果同时指定了x和y,输出数组包含条件为True的x的元素,以及其他地方的y的元素。
如果只给出了条件,则返回 condition.nonzero()这个元组,即条件为 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])