NumPy布尔索引的用法(附带实例)
NumPy 会比一般的 Python 序列提供更多的索引方式,包括整数数组索引、布尔索引及花式索引。
可以通过一个布尔数组来索引目标数组。布尔索引通过布尔运算(如比较运算符)来获取符合指定条件的元素的数组。以下实例获取大于 5 的元素:
以下实例使用 ~(取补运算符)来过滤 NaN:
以下实例演示如何从数组中过滤非复数元素:
可以通过一个布尔数组来索引目标数组。布尔索引通过布尔运算(如比较运算符)来获取符合指定条件的元素的数组。以下实例获取大于 5 的元素:
x = np.array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11]]) print('我们的数组是:') print(x) print('\n') print('大于5的元素是:') # 现在我们会打印出大于5的元素 print(x[x > 5])输出结果为:
我们的数组是:
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]
大于5的元素是:
[ 6 7 8 9 10 11]
以下实例使用 ~(取补运算符)来过滤 NaN:
a = np.array([np.nan, 1,2,np.nan,3,4,5]) print (a[~np.isnan(a)])输出结果为:
[1. 2. 3. 4. 5.]
以下实例演示如何从数组中过滤非复数元素:
a = np.array([1, 2+6j, 5, 3.5+5j]) print (a[np.iscomplex(a)])输出结果为:
[2.+6.j 3.5+5.j]