如何像这样用 numpy 重塑数组:

问题描述

我有这个:

array([[0,1,2,3,3],[0,3]])

我想像这样重塑我的数组:

array([[0,1],[2,3]])

我如何使用 python numpy 来做到这一点?

解决方法

您可以拆分和连接:

a = np.array([[0,1,2,3,3],[0,3]])

cols = a.shape[1] // 2
np.concatenate((a[:,:cols],a[:,cols:]))

#[[0 0 1 1]
# [0 0 1 1]
# [2 2 3 3]
# [2 2 3 3]]
,

您可以在重塑后简单地交换行。

a= np.array([[0,3]]).reshape(4,4)

a[[1,2]] = a[[2,1]]

输出:

array([[0,1],[2,3]])