📜  numpy 索引 (1)

📅  最后修改于: 2023-12-03 15:18:03.401000             🧑  作者: Mango

NumPy 索引

NumPy 是 Python 中一个重要的科学计算库,可以进行高效的数值计算和数据分析。本文主要介绍 NumPy 中的索引模块,包括基本的索引、切片、布尔索引和花式索引等常用操作。

基本索引

NumPy 中最基本的索引方式就是使用整数和切片对象对数组进行索引。我们可以在数组对象上使用索引操作符 [],来获取指定索引位置上的值。例如:

import numpy as np

a = np.array([1, 2, 3, 4])
print(a[0])      # 输出 1
print(a[2:])     # 输出 [3 4]

其中,a[0] 表示获取数组中索引为 0 的值,a[2:] 表示获取数组中从索引为 2 开始到结尾的所有值。

切片

除了使用基本索引外,NumPy 还支持使用切片对象对数组进行索引。切片是一个包含起始索引、结束索引和步长的对象,可以使用 : 分割这三个索引。例如:

import numpy as np

a = np.array([1, 2, 3, 4, 5])
print(a[1:4])    # 输出 [2 3 4]
print(a[::2])    # 输出 [1 3 5]

其中,a[1:4] 表示获取数组中从索引 1 到索引 3 的值,不包括索引为 4 的值。a[::2] 表示获取数组中以步长为 2 的方式获取所有值。

布尔索引

布尔索引是一种使用布尔值(TrueFalse)对数组进行索引的方法。它广泛用于数据分析中,例如选取数据集中满足某种条件的数据。例如:

import numpy as np

a = np.array([1, 2, 3, 4, 5])
mask = np.array([True, False, True, False, True])
print(a[mask])   # 输出 [1 3 5]

其中,mask 数组用来标记数组 a 中每个位置的值是否应该被选取。因此,a[mask] 表示获取 mask 中为 True 的位置上对应的值,即 [1, 3, 5]。

花式索引

花式索引是一种使用整数数组对数组进行索引的方法。它可以用来从数组中获取指定位置上的值,并且可以按任意顺序进行索引。例如:

import numpy as np

a = np.array([1, 2, 3, 4, 5])
index = np.array([0, 3, 4])
print(a[index])  # 输出 [1 4 5]

其中,index 数组包含要获取的值的位置索引,因此 a[index] 表示从 a 数组中获取索引为 0、3、4 的值,即 [1, 4, 5]。

综上,本文介绍了 NumPy 中常用的索引方式,包括基本索引、切片、布尔索引和花式索引。这些工具可以帮助我们高效地获取和筛选数组中的数据。