鉴于我有一个二维数组,我想将其整形为一维,每行一个值

问题描述

这是我的数组

arr = np.array([[0,1],[3,4],[6,7]])

flat_arr = np.reshape(arr,-1)

am得到以下结果:

[0 1 2 3 4 5 6 7 8]

我想要的结果是:

[0]
[1]
[3]
[4]
[5]...

解决方法

有几种方法可以做到:

flat_arr[:,None]
flat_arr[:,np.newaxis]
np.expand_dims(flat_arr,axis=1)

此外,您可以像这样重塑它:

arr.reshape(-1,1)
,

您可以使用这种新形状:

import numpy as np

arr = np.array([[0,1],[3,4],[6,7]])

flat_arr = np.reshape(arr,(arr.shape[0] * arr.shape[1],1))

print(flat_arr)

输出:

[[0]
 [1]
 [3]
 [4]
 [6]
 [7]]

此外,正如@MarkMeyer添加的那样,您可以使用:

flat_arr = np.reshape(arr,(-1,1))