Как преобразовать (4,3) массив в (4,1) массив? - PullRequest
1 голос
/ 05 ноября 2019
myarray = array([[1, 2, 3],
       [0, 2, 3],
       [0, 1, 3],
       [0, 1, 2]])
myarray.shape = (4,3)

Результат должен выглядеть так:

MUTAG_graph_struct[0][0]
Out[112]: 
(array([[0, 1, 0, 0, 0],
       [1, 0, 1, 1, 1],
       [0, 1, 0, 0, 0],
       [0, 1, 0, 0, 0],
       [0, 1, 0, 0, 0]], dtype=uint8), array([[(array([[ 5],
       [22],
       [ 5],
       [ 5],
       [20]], dtype=uint8),)]], dtype=[('values', 'O')]), array([[array([[2]], dtype=uint8)],
       [array([[1, 3, 4, 5]], dtype=uint8)],
       [array([[2]], dtype=uint8)],
       [array([[2]], dtype=uint8)],
       [array([[2]], dtype=uint8)]], dtype=object))

result = MUTAG_graph_struct[0][0][2]

, поэтому в моем случае я хочу вывод, как указано выше. Один массив с элементами массива. И тогда должно получиться:

вывод: MUTAG_graph_struct[0][0][2]

array([[array([[1, 2, 3]], dtype=uint8)],
       [array([[0, 2, 3]], dtype=uint8)],
       [array([[0, 1, 3]], dtype=uint8)],
       [array([[0, 1, 2]], dtype=uint8)], dtype=uint8)]], dtype=object)

Подскажите, пожалуйста, как это сделать? Я использую python3.

Я пытался np.stack, np.concatenate, но не могу понять проблему?

1 Ответ

0 голосов
/ 05 ноября 2019

Ваш ожидаемый результат не имеет правильного брекетинга. Если вы ищете что-то похожее на

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

       [[[0, 2, 3]]],

       [[[0, 1, 3]]],

       [[[0, 1, 2]]]])

Вы можете попробовать сделать myarray.reshape(4,1,1,3).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...