web-dev-qa-db-fra.com

Comment convertir une liste 2D en un tableau numpy 2D?

J'ai une liste 2D quelque chose comme

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

et je veux le convertir en un tableau numpy 2D. Pouvons-nous le faire sans allouer de mémoire comme

numpy.zeros((3,3))

puis y stocker des valeurs?

69
Shan

Il suffit de passer la liste à np.array:

a = np.array(a)

Vous pouvez également saisir cette opportunité pour définir le dtype si la valeur par défaut n’est pas celle que vous souhaitez.

a = np.array(a, dtype=...)
74
unutbu

J'utilise des ensembles de données volumineux exportés vers un fichier python sous la forme

XVals1 = [.........] 
XVals2 = [.........] 

Chaque liste est de longueur identique. j'utilise

>>> a1 = np.array(SV.XVals1)

>>> a2 = np.array(SV.XVals2)

Ensuite

>>> A = np.matrix([a1,a2])
2
PeterB

np.array() est encore plus puissant que ce que l'unutbu a dit plus haut. Vous pouvez également l'utiliser pour convertir une liste de tableaux np en un tableau de dimensions supérieures, voici un exemple simple:

aArray=np.array([1,1,1])

bArray=np.array([2,2,2])

aList=[aArray, bArray]

xArray=np.array(aList)

la forme de xArray est (2,3), c'est un tableau np standard. Cette opération évite une programmation en boucle.

1
Clock ZHONG

il suffit d'utiliser le code suivant

c = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
matrix([[1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]])

Ensuite, il vous donnera

vous pouvez vérifier la forme et la dimension de la matrice en utilisant le code suivant

forme

c.ndim

1
sandeep sharma