Python NumPy изменить 3D-список в 2D-массив - PullRequest
0 голосов
/ 23 апреля 2019

Я хочу преобразовать

изменить: приведенный ниже код является 3D список списка,

[
    [ 
        [
            [1,2,3,],
            [4,5,6,],
        ],
        [
            [7,8,9,],
            [10,11,12,], 
        ],
    ],
    [ 
        [
            [A,B,C,],
            [D,E,F,], 
        ],
        [
            [G,H,I,],
            [J,K,L,], 
        ],
    ],
]

Into

[

[1,2,3],
[4,5,6],
[7,8,9],
[10,11,12],
[A,B,C],
[D,E,F],
[G,H,I],
[J,K,L]

]

Я пробовал numpy.flattenно безуспешно https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.flatten.html

1 Ответ

2 голосов
/ 23 апреля 2019

Reshape ваш инструмент.

Вот отдельный пример:

import numpy as np
a = np.array([
    [[[1,2,3] , [4,5,6]],
     [[7,8,9] , [10,11,12]]],
    [[[13,14,15] , [16,17,18]],
     [[19,20,21] , [22,23,24]]]
    ])

a.shape
>>> (2, 2, 2, 3)

a.reshape(8,3)
>>> array([[ 1,  2,  3],
>>>        [ 4,  5,  6],
>>>        [ 7,  8,  9],
>>>        [10, 11, 12],
>>>        [13, 14, 15],
>>>        [16, 17, 18],
>>>        [19, 20, 21],
>>>        [22, 23, 24]])
...