首页 > 编程笔记 > Python笔记 阅读:12

NumPy布尔索引的用法(附带实例)

NumPy 会比一般的 Python 序列提供更多的索引方式,包括整数数组索引、布尔索引及花式索引。

可以通过一个布尔数组来索引目标数组。布尔索引通过布尔运算(如比较运算符)来获取符合指定条件的元素的数组。以下实例获取大于 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]

相关文章