Я хотел бы расширить список массивов в один массив, например: a =

 [array([1,2,3]), array([4,5,6]), array([7,8,9,])]

Становиться:

a = [array([1,2,3,4,5,6,7,8,9])]

Как мне это сделать?

0
arilwan 1 Июн 2020 в 14:04

3 ответа

Лучший ответ

Попробуйте использовать

list.extend

Это будет работать Может быть, вы хотите этого

from numpy import array
k=[array([1,2,3]), array([4,5,6]), array([7,8,9,])]
l=[]
for i in range(len(k)):
  l.extend(k[i])
print(array(l))

Выход:

array([1, 2, 3, 4, 5, 6, 7, 8, 9])

1
tanmayjain69 1 Июн 2020 в 11:15

Вы можете использовать изменение формы Numpy, чтобы сделать это: -

a=[[1,2,3],[3,4,5],[6,7,8]]
print("Before:" , a)
import numpy as np
a=np.reshape(a,9)
print("After:",a)

Выход:

Before: [[1, 2, 3], [3, 4, 5], [6, 7, 8]]
After: [1 2 3 3 4 5 6 7 8]

Надеюсь, это то, что вы хотите.

-1
Sherin Jayanand 1 Июн 2020 в 11:10

Одним из вариантов является преобразование списка в np.array, а затем выравнивание внутри списка:

>>> import numpy as np
>>> arr = [np.array([1,2,3]), np.array([4,5,6]), np.array([7,8,9,])]
>>> [np.array(arr).flatten()]
[array([1, 2, 3, 4, 5, 6, 7, 8, 9])]
1
Aivar Paalberg 1 Июн 2020 в 11:29