NumPy 如何获取指定行或特定列的值,如二维数组中的第 m 行或 第 n 列的值,甚至局部行或列的数值?
推荐方式
这个本质上是 NumPy 切片和索引的问题。
NumPy 通过由冒号分隔的切片参数(start:stop:step
),多维数组的维数由逗号 ,
隔开,具体示例如下:
import numpy as np
arr = np.array(
[[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19]]
)
print(arr)
# 获取第 2 行
print(arr[1, :])
# 获取第 5 列
print(arr[:, 4])
# 获取第 1、2 列
print(arr[:, 0:2])
从上例中可以看出,单个行或列可以通过索引直接指定(从 0 开始),不限制的维度,直接用冒号 :
表示。