Как убрать двойную [[для 1D матрицы в питоне?

3 ответа

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

0
ответ дан Nathan 2 March 2019 в 05:39
поделиться

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

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
ответ дан Emons 2 March 2019 в 05:39
поделиться

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

from itertools import chain
array = list(chain(*matrix))
0
ответ дан Alain T. 2 March 2019 в 05:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: