IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Calcul scientifique Python Discussion :

Copier une liste dans un tableau Numpy


Sujet :

Calcul scientifique Python

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 88
    Points : 53
    Points
    53
    Par défaut Copier une liste dans un tableau Numpy
    Bonjour,

    Je voudrais copier une liste dans une matrice type Numpy, seulement cela génére des erreurs, et quel que soit la méthode que je trouve cela ne marche pas !!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    # Allocation de la dimension de la matrice principale : ici de taille (143,111,1,4)
    Nvar = 4 # nombre de variables
    ldim = (143,111,1,Nvar)
    msh = N.empty(tuple(ldim),N.double)
    zones = []
    # Fonction qui permet de lire des fichiers ASCI de données, ici la taille de zones est (41,56,1,4)
     zones = loadFmt(fich_dom)
     # indices de début pour mettre la matrice zones dans le bon endroit
    i =102
    j =55
    k=0
    a = zones.shape[0] # aka : 41
    b = zones.shape[1] # b = 55
    c = zones.shape[2] # c = 1
    msh[i,i+a][j,j+b][k,k+c] = zones[0,a][0,b][0,c]
    Mais cela ne marche pas !

    Auriez vous une idée??

    J'ai déjà essayé une méthode de boucle for (3 boucles ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for i in range(0,a):
         for j in range(0,b):
    	  for k in range(0,c):
    	       imsh = i + 102 -1
    	       jmsh = j + 55 -1
    	       kmsh = k + 0 -1
    	       msh[imsh][jmsh][kmsh] = zones[i][j][k]
    Et cela marche très bien , par contre cela prend plus de temps !! donc je veux éviter les boucles for au maximum !!

    Merci d'avance.

    M.

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Il me semble que tu n'as pas compris grand chose à Numpy !

    zones est un tableau Numpy ?

    La dernière ligne s'écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msh[i:i+a,j:j+b,k:k+c] = zones
    Voir la documentation de Numpy pour l'accès à des morceaux de tableau !

    C'est quoi ces -1 dans la version qui marche ???

Discussions similaires

  1. utiliser une liste dans un tableau croisé.
    Par zaatour dans le forum Cognos
    Réponses: 1
    Dernier message: 05/12/2007, 20h44
  2. Réponses: 11
    Dernier message: 14/07/2007, 18h44
  3. [DOM] integration d'une liste dans un tableau html en javascript
    Par bb62 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 08/06/2007, 16h03
  4. Réponses: 13
    Dernier message: 18/05/2007, 16h06
  5. Copier une liste dans une autre
    Par chris3544 dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 28/12/2006, 13h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo