Partage
  • Partager sur Facebook
  • Partager sur Twitter

nombre de colonne d'un array

Sujet résolu
    15 mai 2015 à 14:31:20

    Bonjour,

    Voici mon problème : j'importe des données depuis un fichier texte. Ce fichier texte peut contenir de 1 à plusieurs colonnes.

    Avec l'aide de la fonction np.loadtxt je les importe directement dans une variable tel que :

    data = np.loadtxt(...) où data est un array.

    Donc quand je fais data.shape, ça me retourne le nombre de ligne et de colonne. par exemple :

    >>> b=np.array([[1,2,3],[4,5,6]])
    >>> b.shape
    (2L, 3L)
    >>> nb_col=int(b.shape[1])
    3

    Mais, si le array n'a qu'une seule colonne, ça marche plus :

    >>> a=np.array([1,2,3])
    >>> a.shape
    (3L,)
    >>> nb_col=int(a.shape[1])
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    IndexError: tuple index out of range

    Du coup comment faire pour savoir si j'ai un array qui a une colonne ou plus ??


    • Partager sur Facebook
    • Partager sur Twitter
      15 mai 2015 à 16:40:04

      Avec b.ndim, tu verrais combien de dimensions comportent ton array. Donc s'il n'y a qu'une seule colonne, il n'y aura qu'une dimension. Si tu as 2+ colonnes, tu auras plusieurs colonnes, et shape pourra te donner leur nombre.

      • Partager sur Facebook
      • Partager sur Twitter
        17 mai 2015 à 20:37:14

        Merci pour ta réponse. un peu sur le même principe, j'avais contourné le problème un peu comme tu le propose en faisant un len(b.shape).

        J’espérais qu'une méthode à peine plus "propre" existait.

        Merciiiii !!

        • Partager sur Facebook
        • Partager sur Twitter

        nombre de colonne d'un array

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown