Python 将列表重塑为 numpy 数组:维度问题

Python reshaping a list into numpy array: dimensional issue

我想将列表重塑为特定维度的 numpy 数组。我的列表如下所示:

my_list = [array([[1],
                  [2],
                  [3],
                  [4]],
                 [[2],
                  [3],
                  [4],
                  [1]],
                 [[3],
                  [4],
                  [2],
                  [1]])]

我想将这个列表转换为一个numpy数组,并将其整形为(3, 4)的维度,例如:

my_list = [array([1, 2, 3, 4],
                 [2, 3, 4, 1],       
                 [3, 4, 1, 2])]

我已经检查了一些关于此的早期线程,例如 Transposing a NumPy array 和 SciPy 文档,但似乎无法理解它是如何工作的并且无法将我的列表转换为我想要的数组表格.

你不需要在最里面的调用中使用 arraynp.asarray 会很乐意使用嵌套的 python 列表并将整个列表转换为 ndarray , 然后你只要调用 .reshape 就可以变成你想要的形状。

my_list = [[[1],
            [2],
            [3],
            [4]],
           [[2],
            [3],
            [4],
            [1]],
           [[3],
            [4],
            [2],
            [1]]]
np.asarray(my_list).reshape(3,4)
>>> a
[array([[[1],
        [2],
        [3],
        [4]],

       [[2],
        [3],
        [4],
        [1]],

       [[3],
        [4],
        [2],
        [1]]])]
>>> a[0].shape
(3, 4, 1)
>>> a[0] = a[0].reshape(3,4)
>>> a
[array([[1, 2, 3, 4],
       [2, 3, 4, 1],
       [3, 4, 2, 1]])]
>>> a[0].shape
(3, 4)
>>>