Как преобразовать список массивов в один массив, когда массивы имеют разные формы в python - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть список массивов разных измерений, и я хочу объединить эти массивы в один массив.

предположим, у меня есть

LIST = [array([[0.786, 0.819]]), array([[0.811, 0.804]]), array([[0.821]])]

, и я хочу преобразовать его в массив:

ARRAY = array([0.786, 0.819, 0.811, 0.804, 0.821])

, поэтому я хотел бы объединить все значения каждого массива мой список в одном массиве

Ответы [ 3 ]

1 голос
/ 22 апреля 2020

вы можете использовать numpy .hstack и нет необходимости в цикле

import numpy as np

LIST = [np.array([[0.786, 0.819]]), np.array([[0.811, 0.804]]), np.array([[0.821]])]

arr = np.hstack([*LIST])
arr
array([[0.786, 0.819, 0.811, 0.804, 0.821]])
0 голосов
/ 22 апреля 2020
l = [np.array([[0.786, 0.819]]), np.array([[0.811, 0.804]]), np.array([[0.821]])]
a = np.array([])
for x in l:
  a = np.concatenate((a, x[0]))
print (a)

Outuput

[0.786 0.819 0.811 0.804 0.821]
0 голосов
/ 22 апреля 2020
np.hstack([i[0] for i in LIST])

Это может быть np.hstack(LIST), если ваши массивы были векторами, а не матрицами, т.е. использовали только один [] вместо [[]].

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