📅  最后修改于: 2023-12-03 15:38:55.308000             🧑  作者: Mango
通常,我们都会遇到需要访问多维 NumPy 数组中某个特定行或一组行的情况。这里我们介绍如何实现多维 NumPy 数组的行访问和切片操作。
我们可以使用 NumPy 数组的索引方法和冒号操作符 ':' 来访问多维数组中的行。
对于一个二维数组 arr,我们可以使用 arr[i] 来访问第 i 行。这里的 i 是行号,从 0 开始计数。
import numpy as np
# 创建一个2x3的二维数组
arr = np.array([[1, 2, 3], [4, 5, 6]])
# 访问第1行
print(arr[0])
执行结果:
[1 2 3]
我们同样可以使用切片语法来访问多个行。例如,要访问从第 1 行到第 3 行的所有行,可以这样做:
import numpy as np
# 创建一个3x3的二维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 访问第1~3行的所有行
print(arr[0:3])
执行结果:
[[1 2 3]
[4 5 6]
[7 8 9]]
有时候我们需要获取数组中的某些行的某些列,这时可以使用行切片。行切片的语法是:[start:end:step],其中 start 表示切片开始的索引,end 表示终止的索引(但不包括该索引对应的元素),step 表示步长,默认为 1。
对于一个二维数组 arr,我们可以使用 arr[i][start:end] 来访问第 i 行的从 start 列到 end 列的所有元素。
import numpy as np
# 创建一个2x3的二维数组
arr = np.array([[1, 2, 3], [4, 5, 6]])
# 访问第1行的第2~3列元素
print(arr[0][1:3])
执行结果:
[2 3]
同样可以使用切片操作符 ':' 来访问多个行和多个列。例如,要访问从第 1 行到第 3 行的第 2 列到第 3 列的所有元素,可以这样做:
import numpy as np
# 创建一个3x3的二维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 访问第1~3行的第2~3列元素
print(arr[0:3, 1:3])
执行结果:
[[2 3]
[5 6]
[8 9]]
以上就是如何访问多维 NumPy 数组的不同行的方法。我们可以通过索引和切片的方式,灵活地访问数组中的元素。