NumPy 高级索引
NumPy 高级索引
NumPy 是 Python 中用于科学计算的核心库之一,它提供了一个强大的N维数组对象和许多用于操作这些数组的函数。在 NumPy 中,除了基本的索引和切片操作外,还提供了高级索引功能,这使得您可以以更加灵活和高效的方式访问和操作数组中的数据。本文将详细介绍 NumPy 的高级索引功能,包括整数索引、布尔索引以及花式索引。
整数索引
整数索引,也称为高级索引或数组索引,允许您使用整数数组来索引数组中的元素。这种索引方式返回的是一个一维数组,其元素是原始数组中对应索引位置的元素。整数索引可以是多维的,但每个维度的大小必须与被索引数组对应维度的大小相匹配。
示例
import numpy as npa = np.array([[1, 2], [3, 4], [5, 6]])
rows = np.array([0, 1, 2])
cols = np.array([0, 1, 0])# 使用整数索引
result = a[rows, cols]
print(result)
输出:
[1 4 5]
在这个例子中,我们使用两个整数数组 rows
和 cols
来索引数组 a
。返回的数组 result
包含了 a
中对应位置的元素。
布尔索引
布尔索引是一种使用布尔数组作为索引来选择数组中满足特定条件的元素的方法。这种索引方式返回的是一个一维数组,其元素是原始数组中满足条件的元素。
示例
import numpy as npa