Как убрать двойную [[для 1D матрицы в питоне? - PullRequest
0 голосов
/ 01 марта 2019

Я работаю над проектом Deep Learning (на Python), и у меня возникла проблема с моим кодом.Я получаю вывод, подобный этому:

[[-0.00111287 -0.97692661 -0.9939433  -0.99474857]]

, и я хочу изменить это на это:

[-0.00111287 -0.97692661 -0.9939433  -0.99474857]

Может кто-нибудь помочь мне с простой функцией.Я не смог найти ни одной функции, которая бы выполняла эту работу.

Заранее спасибо!

Ответы [ 3 ]

0 голосов
/ 01 марта 2019

Попробуйте это:

import numpy as np
my_matrix = [[-0.00111287, -0.97692661, -0.9939433, -0.99474857]]
result = list(np.array(my_matrix).reshape(-1))
print(result)

# [-0.00111287, -0.97692661, -0.9939433, -0.99474857]
0 голосов
/ 02 марта 2019

Если вы не работаете с пустым массивом, itertools предоставляет функцию под названием chain (), которую можно использовать для выравнивания списка:

from itertools import chain
array = list(chain(*matrix))
0 голосов
/ 01 марта 2019

Я предполагаю, что у вас есть numpy.ndarray?Вы можете сгладить любой массив в 1D, выполнив array.ravel().Кроме того, вы можете преобразовать массив в любую желаемую форму (совместимую с количеством элементов в массиве), используя array.reshape.array.reshape(-1) совпадает с array.ravel().См. здесь для получения дополнительной информации о преобразовании массивов.Наконец, вы также можете получить array_1d = array_2d[0], но я не нахожу это ясным в коде, потому что читателю кажется, что вы просто выбираете первую строку двумерного массива.Выполнение array_1d = array_2d.ravel() дает понять, что вы сохраняете все элементы, просто выравнивая массив.

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