首页 > 解决方案 > 在对 numpy 数组进行子排列时,保持维度的最佳方法是什么?

问题描述

假设我有一个标准的 numpy 数组,例如

a = np.arange(6).reshape((2,3))

当我对数组进行子数组时,通过执行以下任务

a[1, :]

我会失去维度,它会变成一维并打印,array([3, 4, 5]) 当然列表是二维的,你本来想保持维度。所以我必须做一个乏味的任务,比如

b=a[1, :]
b.reshape(1, b.size)

为什么子阵列时numpy会降低维度?

保持维度的最佳方法是什么,因为a[1, :].reshape(1, a.size)会破裂?

标签: pythonnumpyarray-indexing

解决方案


只需使用切片而不是索引,形状就会被保留:

a[1:2]

推荐阅读