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

Python Discussion :

Gérer deux formats de nombres dans un array [Python 2.X]


Sujet :

Python

  1. #1
    Membre éclairé Avatar de nekcorp
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 592
    Par défaut Gérer deux formats de nombres dans un array
    Bonjour à tous,

    Bon j'ai encore un problème

    Suite à un précédent message où je devais ajouter une colonne à un tableau, j'utilise numpy.savetxt afin d'écrire mon tableau dans un fichier.

    Le soucis c'est que ma première colonne doit contenir des entiers étant donné qu'ils représente des ID.

    Dans numpy.savetxt il est possible de choisir le format des nombres à écrire grâce à fmt, sauf que ça s'applique à tout le tableau, du coup je ne sais pas comment m'en sortir

    Actuellement voilà ce que j'obtiens dans mon fichier de sortie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    100223.000000	0.007322	11.127236	0.183136	0.137352	1.299218	2.798952	1.179914	0.277970
    100321.000000	0.002076	23.871874	0.063658	0.047744	4.529176	10.680488	4.432376	0.052918
    100423.000000	0.010928	46.533168	0.270276	0.202708	0.128694	0.128304	0.030060	0.434588
    100521.000000	0.003812	14.711246	0.100366	0.075274	3.380506	7.886992	3.272154	0.146736
    100621.000000	0.003854	15.196908	0.135290	0.101468	3.215950	7.435744	3.107688	0.131296
    100723.000000	0.026478	64.722046	0.656570	0.492428	4.451362	11.657248	4.824888	1.291418
    100823.000000	0.027262	82.641198	0.430566	0.322926	9.174432	22.516296	9.458000	1.335752
    100223.000000	0.007322	11.127236	0.183136	0.137352	1.299218	2.798952	1.179914	0.277970
    moi je souhaite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    100223	0.007322	11.127236	0.183136	0.137352	1.299218	2.798952	1.179914	0.277970
    100321	0.002076	23.871874	0.063658	0.047744	4.529176	10.680488	4.432376	0.052918
    100423	0.010928	46.533168	0.270276	0.202708	0.128694	0.128304	0.030060	0.434588
    100521	0.003812	14.711246	0.100366	0.075274	3.380506	7.886992	3.272154	0.146736
    100621	0.003854	15.196908	0.135290	0.101468	3.215950	7.435744	3.107688	0.131296
    100723	0.026478	64.722046	0.656570	0.492428	4.451362	11.657248	4.824888	1.291418
    100823	0.027262	82.641198	0.430566	0.322926	9.174432	22.516296	9.458000	1.335752
    100223	0.007322	11.127236	0.183136	0.137352	1.299218	2.798952	1.179914	0.277970
    Les autres colonnes doivent impérativement être des nombres décimaux.

    Une idée ?

    Merci d'avance pour votre aide.

  2. #2
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut
    Salut,

    Faut lire la doc :

    c. a list of specifiers, one per column
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    >>> x = [ [0., 0.0],  [1., 1.1],  [2., 2.2],  [3. 3.3],  [4., 4.4]]
    >>> np.savetxt("/tmp/t", x, fmt="%i %f")
    ^D
    » cat /tmp/t
    0 0.000000
    1 1.100000
    2 2.200000
    3 3.300000
    4 4.400000

  3. #3
    Membre éclairé Avatar de nekcorp
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 592
    Par défaut
    Citation Envoyé par dahtah Voir le message
    Salut,

    Faut lire la doc :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    >>> x = [ [0., 0.0],  [1., 1.1],  [2., 2.2],  [3. 3.3],  [4., 4.4]]
    >>> np.savetxt("/tmp/t", x, fmt="%i %f")
    ^D
    » cat /tmp/t
    0 0.000000
    1 1.100000
    2 2.200000
    3 3.300000
    4 4.400000
    Mais qu'est ce que j'ai honte de moi !!!!!

    Faut que j'améliore mon anglais.

    Merci d'avoir pris la peine de me remettre le lien en plus

  4. #4
    Membre éclairé Avatar de nekcorp
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 592
    Par défaut
    Par contre j'ai plusieurs colonnes ( > 500).

    Est il possible de lui dire que ma première colonne c'est des int et tout le reste des float par exemple au lieu de créer une variable qui contient "%i %f %f %f ........." ?

    Merci d'avance pour vos réponses.

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 715
    Par défaut
    Citation Envoyé par nekcorp Voir le message
    Est il possible de lui dire que ma première colonne c'est des int et tout le reste des float par exemple au lieu de créer une variable qui contient "%i %f %f %f ........." ?
    La documentation n'en parle pas. Par contre, pas difficile d'écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> v = '%i' + ' %f' * 10
    >>> v
    '%i %f %f %f %f %f %f %f %f %f %f'
    >>>
    pour construire cette chaine là.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre éclairé Avatar de nekcorp
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 592
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    La documentation n'en parle pas. Par contre, pas difficile d'écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> v = '%i' + ' %f' * 10
    >>> v
    '%i %f %f %f %f %f %f %f %f %f %f'
    >>>
    pour construire cette chaine là.

    - W
    Justement c'est ce que je voulais évité de faire.
    au lieu de créer une variable qui contient "%i %f %f %f ........."
    Merci quand même

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

Discussions similaires

  1. formater les nombres dans une session
    Par esthr dans le forum SQL
    Réponses: 10
    Dernier message: 04/06/2007, 17h35
  2. [Lazarus] Format des nombres dans TDBEdit,TDBText
    Par chlubister dans le forum Lazarus
    Réponses: 1
    Dernier message: 14/05/2007, 17h26
  3. [VB6]Format de nombres dans un DataGrid
    Par badrel dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 27/04/2006, 13h53
  4. [MySQL] Additionner des nombres dans un array
    Par azorol dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 10/02/2006, 11h34
  5. Formater un nombre dans controle Source
    Par NicoNGRI dans le forum IHM
    Réponses: 4
    Dernier message: 16/12/2005, 14h33

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