0
列說,我有一個數組如何找到一個ndarray
x = array([[ 0, 1, 2, 5],
[ 3, 4, 5, 5],
[ 6, 7, 8, 5],
[ 9, 10, 11, 5]])
我需要找到[3, 4, 5, 5]
位置/索引。在這種情況下,它應該返回1
。
列說,我有一個數組如何找到一個ndarray
x = array([[ 0, 1, 2, 5],
[ 3, 4, 5, 5],
[ 6, 7, 8, 5],
[ 9, 10, 11, 5]])
我需要找到[3, 4, 5, 5]
位置/索引。在這種情況下,它應該返回1
。
創建一個數組y
,該數組的行數等於您正在查找的行數。然後,做一個元素比較x == y
,並找到你得到的所有行True
。
import numpy as np
x1 = np.array([[0, 1, 2, 5], [3, 4, 5, 5],
[6, 7, 8, 5], [9, 10, 11, 5]])
y1 = np.array([[3, 4, 5, 5]] * 4)
print(np.where(np.all(x1 == y1, axis=1))[0]) # => [1]
該方法返回所需行出現的索引數組。
y2 = np.array([[1, 1, 1, 1]] * 4)
print(np.where(np.all(x1 == y2, axis=1))[0]) # => []
x2 = np.array([[3, 4, 5, 5], [3, 4, 5, 5],
[6, 7, 8, 5], [9, 10, 11, 5]])
print(np.where(np.all(x2 == y1, axis=1))[0]) # => [0 1]