02. NumPy 数据定位
1. numpy 快速判断每个元素
import numpy as np
vector = np.array([1,2,3,5,2])
vector == 2
'''
快速对二维数组中的每一个元素进行判断,返回的数据类型也是二维数组/list of list
array([[False, True, False],
[False, False, True],
[ True, True, False]])
'''
matrix = np.array([[1,2,3],[4,5,2],[2,2,11]])
matrix == 2
array([[False, True, False],
[False, False, True],
[ True, True, False]])
2. numpy 判断并返回对应的元素
import numpy as np
'''
可以对 ndarray 里的每个元素进行判断,返回的是每个元素是否符合的布尔值,将这个布尔值当作 ndarray 的索引 index 又可以找到该 ndarray
数据结构中所有的符合的元素并返回(往往用于二维数组)
'''
vector = np.array([1,2,3,4,2])
index = vector == 2
print(index)
print(vector[index])
matrix = np.array([[1,2,3],[2,2,4],[4,5,2]])
index = matrix == 2
'''
[[False True False]
[ True True False]
[False False True]]
'''
print(index)
print(matrix[index])
'''
首先找到所有行的第一列,判断每个元素是否等于2,返回布尔类型的列表,然后根据返回的列表作为索引得到具有该元素的所有行,然后可以取出这些行的
所有列的数据!
'''
index = matrix[:,1] == 2
print(index)
'''
[[1 2 3]
[2 2 4]]
'''
print(matrix[index,:])
[False True False False True]
[2 2]
[[False True False]
[ True True False]
[False False True]]
[2 2 2 2]
[ True True False]
[[1 2 3]
[2 2 4]]