Précédent   Forum du club des développeurs et IT Pro > Autres langages > Python & Zope > Calcul scientifique
Calcul scientifique Forum d'entraide sur la programmation scientifique et bibliothèques associées (PIL, NumPy, SciPy, ...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 18/07/2012, 17h35   #1
sir_nebuchadnezzar
Membre à l'essai
 
Homme Etienne
Inscription : février 2012
Messages : 39
Détails du profil
Informations personnelles :
Nom : Homme Etienne
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2012
Messages : 39
Points : 20
Points : 20
Envoyer un message via MSN à sir_nebuchadnezzar
Par défaut [NumPY] Création d'une matrice à partir de liste

Bonjour à tous,

Voilà, j'ai un petit problème de construction d'une matrice. J'explique mon problème :
Dans mon script, je génère des listes les unes après les autres. Je souhaite les assembler dans une seule matrice au fur et à mesure de la création de ces listes, en ayant à chaque fois une liste=une ligne de ma matrice.

Pour cela, j'ai essayé :
Code :
1
2
3
L # première liste
M # seconde liste
K=numpy.array([L,M]) # me donne ma matrice bidimentionnel avec deux lignes
Le problème est donc que lorsque je créé ma troisième liste, et que je l'ajoute avec numpy.array([L,M]), la matrice obtenue comprend une matrice imbriqué dans une autre, ce que je ne souhaite pas.

J'aimerais donc savoir si il y a une fonction me permettant d'ajouter une nouvelle ligne à ma matrice au fur et à mesure que je créé mes listes.

J'ai lu un sujet sur le site qui se rapproche beaucoup de mon problème (Cf. fin de la discussion) mais je n'ai pas réussi à le mettre en oeuvre..

Merci de votre aide

Titi
sir_nebuchadnezzar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2012, 17h50   #2
wiztricks
Expert Confirmé Sénior
 
Inscription : juin 2008
Messages : 3 710
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 3 710
Points : 4 547
Points : 4 547
Je ne suis pas sûr d'avoir tout compris mais pour ajouter une ligne à un tableau, vous pouvez utiliser vstack ainsi:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
>>> A = [ x for x in range(10) ]
>>> B = [ x for x in range(10, 20) ]
>>> X = np.array([ A, B])
>>> X
array([[ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]])
>>> C = [ x for x in range(20, 30) ]
>>> X = np.vstack((X, C))
>>> X
array([[ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
       [20, 21, 22, 23, 24, 25, 26, 27, 28, 29]])
- W
__________________
Architectures Post-Modernes
wiztricks est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2012, 17h55   #3
sir_nebuchadnezzar
Membre à l'essai
 
Homme Etienne
Inscription : février 2012
Messages : 39
Détails du profil
Informations personnelles :
Nom : Homme Etienne
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2012
Messages : 39
Points : 20
Points : 20
Envoyer un message via MSN à sir_nebuchadnezzar
Merci, super, c'est exactement ça. Merci beaucoup !!
sir_nebuchadnezzar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 06h36.


 
 
 
 
Partenaires

Hébergement Web