NumPy 切片和索引
NumPy 切片和索引
NumPy 是 Python 中用于科学计算的核心库之一,它提供了一个强大的 N 维数组对象和许多用于操作这些数组的函数。在数据处理和数值计算中,切片和索引是常用的操作,它们允许我们有效地访问和修改数组的部分数据。本文将详细介绍 NumPy 中切片和索引的使用方法。
1. 一维数组的切片和索引
一维数组是最简单的数组形式,它的切片和索引方式与 Python 列表类似。数组的索引从 0 开始,可以通过指定开始索引、结束索引和步长来切片。
import numpy as np# 创建一个一维数组
arr = np.array([0, 1, 2, 3, 4, 5])# 简单的切片
print(arr[1:4]) # 输出 [1 2 3]# 包含开始和结束索引的切片
print(arr[:3]) # 输出 [0 1 2]
print(arr[3:]) # 输出 [3 4 5]# 使用步长
print(arr[1:5:2]) # 输出 [1 3]# 负数索引表示从后向前索引
print(arr[-3:-1]) # 输出 [3 4]
2. 多维数组的切片和索引
多维数组(例如二维数组)的切片稍微复杂一些。在多维数组中,每个维度都可以独立地进行切片。
# 创建一个二维数组
arr2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])# 对行进行切片
print(arr2d[1:]) # 输出 [[4 5 6]# [7 8 9]]# 对列进行切片
print(arr2d[:, 1:3]) # 输出 [[2 3]# [5 6]#