首页 > 解决方案 > 在 python 中将 3D numpy 数组转换为 2D 数组

问题描述

我知道以前有人问过这个问题,但它并没有按照我的意愿去做。我有一个 3D 形状数组 (66183,59,5),我想更改它 (66183,59*5)。例如一个数组:

array([[[ 1.,  5.,  4.],
    [ 1.,  5.,  4.],
    [ 1.,  2.,  4.]],

   [[ 3.,  6.,  4.],
    [ 6.,  6.,  4.],
    [ 6.,  6.,  4.]]])

我想将其转换为 2D,如下所示:


array([[1,5,4,1,5,4,1,2,4],
   [3,6,4,6,6,4,6,6,4]])

我怎样才能做到这一点?见解将不胜感激。

标签: python-3.xnumpy-ndarray

解决方案


您可以使用np.array.reshape,并且您需要传递所需形状的元组。

给定数组arr

arr.reshape((2,9))

array([[1., 5., 4., 1., 5., 4., 1., 2., 4.],
       [3., 6., 4., 6., 6., 4., 6., 6., 4.]])

arr对于具有 shape的数组((66183,59,5)),您可以将其重塑为(66183,59*5)使用arr.reshape((66183,295))


推荐阅读