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 :

[numpy] vue sur les colonnes


Sujet :

Calcul scientifique Python

  1. #1
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Par défaut [numpy] vue sur les colonnes
    Bonjour,

    je commence à utiliser cette librairie et je me pose des questions sur les vues.

    en fait, j'aimerais obtenir une vue sur certaines colonnes.

    par exemple, si mon tableau a est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    0. 1. 2. 3. 4. 5.
    0. 1. 2. 3. 4. 5.
    0. 1. 2. 3. 4. 5.
    1. 1. 1. 1. 1. 1.
    je peux obtenir des vues sur mes lignes 1 et 3 en faisant:

    et j'aimerais obtenir une vue sur mes colonnes 1 et 3 sans passer par la méthode transpose.

    pour obtenir ce tableau dans l'exemple que je donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    1. 3.
    1. 3.
    1. 3.
    1. 1.
    je n'arrive pas à écrire un "indice" approprié pour effectuer cette opération.

    quelqu'un aurait une idée ?

    merci d'avance

  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 : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    >>> a
    array([[0, 1, 2, 3, 4, 5],
           [0, 1, 2, 3, 4, 5],
           [0, 1, 2, 3, 4, 5],
           [1, 1, 1, 1, 1, 1]])
    >>> a[1:4:2]
    array([[0, 1, 2, 3, 4, 5],
           [1, 1, 1, 1, 1, 1]])
    >>> a[:,1:4:2]
    array([[1, 3],
           [1, 3],
           [1, 3],
           [1, 1]])

  3. #3
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Par défaut
    merci pour la réponse, mais je me rends compte que l'exemple de ma question est un cas particulier. en fait, je ne peux pas utiliser les slices.

    si j'entre un peu plus dans les détails, mon array a une "shape" de (4,n) avec n de l'ordre de 10000. chaque fois que je veux créer une vue sur des colonnes, le nombre de colonnes peut être amené à varier et les indices des colonnes aussi sans qu'il soit possible de le définir avec un slice. je peux par exemple avoir besoin des colonnes 356, 412, 1589 et 9048.

  4. #4
    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 : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Mais ce que je te donne comme info est tout de même valide : si tu veux sélectionner tout sur les colonnes puis quelques lignes, tu mets [:,(ce que tu veux)]. Le : indique que tu prends tout sur la dimension indiquée (comme avec les listes).

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Par défaut
    j'ai compris d'où venait le problème. je possède une vieille version de numpy et il n'est pas possible dedans de mixer les slices et les indices.

    avec une version plus récente, je peux en effet faire comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a[:,[356,412,1589,9048]]
    instruction qui levait un IndexError avec ma version

    merci pour ton aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/06/2015, 17h54
  2. gestion des vues sur les colonnes d'un formulaire
    Par johan971 dans le forum SharePoint
    Réponses: 5
    Dernier message: 17/04/2008, 15h15
  3. [struts]: Pagination et tri sur les colonnes
    Par sleepy2002 dans le forum Struts 1
    Réponses: 3
    Dernier message: 09/07/2007, 15h16
  4. [VBA/Excel] Boucler sur les colonnes
    Par jefe.k dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 23/02/2007, 08h42
  5. [fscanf] Travail sur les colonnes
    Par kikibrioche dans le forum MATLAB
    Réponses: 1
    Dernier message: 25/10/2006, 10h15

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