Je voudrais développer une liste de tableaux en un seul tableau, par exemple: a =

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

Devenir:

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

Comment puis-je faire cela?

0
arilwan 1 juin 2020 à 14:04

3 réponses

Meilleure réponse

Essayez d'utiliser

list.extend

Cela fonctionnera peut-être que vous le voulez

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))

Production:

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

1
tanmayjain69 1 juin 2020 à 11:15

Vous pouvez utiliser le remodelage de Numpy pour le faire: -

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)

Le résultat:

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

J'espère que c'est ce que vous voulez.

-1
Sherin Jayanand 1 juin 2020 à 11:10

Une option consiste à convertir la liste en np.array, puis à l'aplatir à l'intérieur de la liste:

>>> 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 juin 2020 à 11:29