检查一个Numpy数组是否包含指定的行
在这篇文章中,我们将学习如何检查一个指定的行是否在NumPy数组中。如果给定的列表作为一个行存在于NumPy数组中,那么输出结果是True,否则是False。列表存在于NumPy数组中意味着该NumPy数组的任何一行都与给定的列表中的所有元素按给定的顺序匹配。这可以通过使用简单的方法来完成,如检查每一行与给定的列表,但这可以通过使用内置的库函数numpy.array.tolist()轻松理解和实现。
语法:ndarray.tolist()
参数:无
返回值:可能嵌套的数组元素列表。
示例 :
Arr = [[1,2,3,4,5], [6,7,8,9,10], [11,12,13,14,15], [16,17,18,19,20]]
and the given lists are as follows :
lst = [1,2,3,4,5] True , as it matches with the row 0.
[16,17,20,19,18] False , as it doesn’t match with any row.
[3,2,5,-4,5] False , as it doesn’t match with any row.
[11,12,13,14,15] True , as it matches with the row 2.
下面是一个例子的实现。
# importing package
import numpy
# create numpy array
arr = numpy.array([[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20]
])
# view array
print(arr)
# check for some lists
print([1, 2, 3, 4, 5] in arr.tolist())
print([16, 17, 20, 19, 18] in arr.tolist())
print([3, 2, 5, -4, 5] in arr.tolist())
print([11, 12, 13, 14, 15] in arr.tolist())
输出 :
[[ 1 2 3 4 5]
[ 6 7 8 9 10]
[11 12 13 14 15]
[16 17 18 19 20]]
True
False
False
True