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 :

Construction de table Numpy + modifications


Sujet :

Calcul scientifique Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 44
    Points : 12
    Points
    12
    Par défaut Construction de table Numpy + modifications
    Bonjour,

    Je me permets de créer ce post car j'ai quelques petits problèmes suite à la création d'une table Numpy et d'affichage ou de tri de certaines parties.
    J'ai un fichier csv qui se compose de la façon suivante :

    Ra;Dec;ID;Main_ID;coo_bibcode;Sp_Type;nbref
    280.53827;7.58162;CoRoT 105733033;CoRoT 105733033;2012A&A...540A.117C;A5V;4
    280.66712083333334;6.219158333333334;2MASS J18424010+0613088;CoRoT-22;2003yCat.1289....0Z;G8V;3
    280.66712083333334;6.219158333333334;UCAC2 33979419;CoRoT-22;2003yCat.1289....0Z;G8V;3
    280.66712083333334;6.219158333333334;UCAC3 193-192420;CoRoT-22;2003yCat.1289....0Z;G8V;3
    280.66712083333334;6.219158333333334;CoRoT-22;CoRoT-22;2003yCat.1289....0Z;G8V;3
    280.66712083333334;6.219158333333334;CoRoT 105819653;CoRoT-22;2003yCat.1289....0Z;G8V;3
    280.66712083333334;6.219158333333334;USNO-A2.0 0900-13496507;CoRoT-22;2003yCat.1289....0Z;G8V;3
    280.1108333333333;7.755;CoRoT 105452757;CoRoT 105452757;2013A&A...550A.120S;M4I;1
    280.1116666666667;7.655;CoRoT 105453385;CoRoT 105453385;2013A&A...550A.120S;K5I;1
    280.1129166666667;7.7775;CoRoT 105454104;CoRoT 105454104;2013A&A...550A.120S;F8I;1
    280.1145833333333;7.695;CoRoT 105455169;CoRoT 105455169;2013A&A...550A.120S;K2I;1
    280.1154166666667;6.403333333333333;CoRoT 105455867;CoRoT 105455867;2013A&A...550A.120S;K4I;1

    etc ... (J'ai environ 2050 lignes de données astronomiques).

    Je cherche à rentrer ces données dans une table, puis à supprimer toutes les lignes dont l'identifiant CoRot xxxx <= 100000.

    Voici mon code actuel :

    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
    16
    17
    18
    19
    20
    ################################################################
    ################################################################
    ########	PROJET PYTHON MASTER 2 ASTROPHYSIQUE	########
    ################################################################
    ################################################################
     
     
    # Importation de la librairie numpy
    import numpy as np 
     
    #Lecture du fichier corot-resultat.csv et importation vers un numpy array
    #Indexation de chaque colonne avec le nom + type
    #skip_header=1 permet de sauter la 1ere ligne de header
     
    data = np.genfromtxt("corot-resultat.csv", delimiter=';', 
    		      dtype = [('Ra', float), ('Dec', float), ('ID', object), ('Main_ID', object), ('coo_bibcode', object), ('Sp_Type', object), ('nbref', int)],
    		      skip_header=1)
     
     
    print data	 #Affiche toutes les lignes de corot-resultat.csv
    Est-ce déjà la bonne méthode pour débuter ?

    Si oui, je pense que la suite devrait-être quelque chose du genre (syntaxe pas du tout juste, mais c'est pour donner mon idée) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for each lines in data
           if lenght ('Main_ID' => 12)
                  print line
           else (passer à la ligne suivante)

    Si je pouvais avoir quelques idées, suggestions, coup de pouce, je vous en serais gré

    SInon Noyeux Joel à tous !

  2. #2
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement informatique scientifique
    Inscrit en
    Janvier 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement informatique scientifique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 10
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    Étant donné que les types de tes données ne sont pas homogènes (*), à priori c'est la bonne manière de faire (voir par exemple : https://www.logilab.org/blogentry/196325 ).

    Je ne connais pas bien, mais comme suggéré à la fin du lien précédent, Pandas semble être aussi adapté à tes besoins (voir par exemple : http://sametmax.com/le-pandas-cest-bon-mangez-en/)

    Jérome

    (*) si elles l'étaient, j'aurais suggéré d'utiliser des masques sur des tableaux numpy à 2 dimensions.

Discussions similaires

  1. Construction de tables relationnelles simples
    Par idamarco dans le forum Débuter
    Réponses: 4
    Dernier message: 27/02/2009, 13h44
  2. Réponses: 2
    Dernier message: 03/09/2008, 16h42
  3. Copie de table avec modification des champs
    Par ordipaco dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2007, 19h38
  4. Sélection d'un enregistrement de la table sur modif TDBEdit
    Par lawale125 dans le forum Bases de données
    Réponses: 2
    Dernier message: 24/09/2004, 17h54
  5. Copier Coller une ligne d'une table avec modif ?
    Par nolan76 dans le forum Requêtes
    Réponses: 4
    Dernier message: 04/03/2004, 16h34

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