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 :

Fichier csv en matrix


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2017
    Messages : 3
    Par défaut Fichier csv en matrix
    bonjour
    je suis débutant en python et surtout en data analyse j'ai un problème.
    j'ai un fichier csv que j'ai importé en python mais les données sont nombreux plus de mille ligne mais je veux travailler sur une partie pour testé des estimateurs.
    Maintenant je veux transformé ce fichier en matrice pour que je puisse prendre je que veux des donnees mais je n'arrive pas

    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    import numpy as np
    import csv 
     
    data=csv.reader(open('...\fichier.csv'))
    la j'abtient bien mon fichier data en ligne mais je n'arrive pas a faire les operation elementaire comme avec les list et les array

    le 2em probleme existe t'il une fonction pour calculé la norme d'un vecteur sur python
    sinon comment on procede

    merci d'avance

  2. #2
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 662
    Par défaut
    Salut,

    L'idée de faire appel à la bibliothèque numpy est bonne. Mais vous n'en faites pas usage dans votre code. A quoi ressemble data? Si c'est de la forme data = [[0, 1, 2, ...], [10, 11, 12, ...], ...], alors il vous suffit de faire data_mat = np.array(data). Vous pouvez aussi allez voir du côté de np.loadtxt().

    Numpy propose bien entendu le calcul de la norme. np.norm().

    Vous dites être débutant en Python. C'est très bien. Je vous conseil de passer quelque temps sur un tuto général et peut être aussi sur Python Scientific Lecture Notes que je trouve très bien.

    Julien

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2017
    Messages : 3
    Par défaut
    bonjour Julien N

    quand j'import le fichier je voix pas le contenu il est stocké en ligne. pour le voir je fait une boucle for

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    import csv
    data=csv.reader(open('fichier.csv'))
    for ligne in data:
    print(linge)
    cela me renvoi le fichier me la maniére
    ['1;3;4;4;5']
    ['3;4;6;8;9']
    ['4;6;7;0;5']
    ...
    mais moi je veux avoir un array
    du genre
    [[1,3,4,4,5];[3,4,5,6,9]; ....]

    Merci d'avance

  4. #4
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 662
    Par défaut
    En allant dans la doc, on peut voir que la méthode reader() a en paramètre optionnel "delimiter". Réessayez en faisaint comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import csv
    data=csv.reader(open('fichier.csv'), delimiter=';')
    for ligne in data:
        print(ligne)
    Maintenant, il va vous rester le problème du format des données. En lisant le fichier csv vous récupérer des chaines de caractères. Comment les passer à Numpy? Peut etre en allant voir la doc de numpy.array(). Mais perso j'utiliserais loadtxt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import numpy as np
    data = np.loadtxt('fichier.csv', delimiter=';')
    print(data)
    J

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2017
    Messages : 3
    Par défaut
    bonsoir

    j'ai essayé avec votre methode mais ca me renvoi un message d'error du type "could not convert string to float"
    j'ai vraiment besoin d'aide c un devoir d'analyse de données a rendre dans 4 jour
    si je parviens a faire les donnée sous forme de matrice le reste c facile c un calcul d'estimateur, de risque, de residu puis de quelque graphe a plotter
    les doonées on sur http://archive.ics.uci.edu/ml/machin...lity-white.csv vous pouvez voir leur configuration

    merci encore une fois

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    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 696
    Par défaut
    Salut,

    Citation Envoyé par beuzbalde Voir le message
    j'ai essayé avec votre methode mais ca me renvoi un message d'error du type "could not convert string to float"
    Vérifiez que la première ligne du fichier ne soit pas une en-tête donnant le nom de chaque colonne. Puis regardez dans la documentation de numpy.loadtxt comment gérer cette ligne là.

    Citation Envoyé par beuzbalde Voir le message
    j'ai vraiment besoin d'aide c un devoir d'analyse de données a rendre dans 4 jour
    Apprendre à dépatouiller les différents soucis rencontrés lors de la mise au point de votre programme, aller lire la documentation, ... font partie de l'exercice et sont très formateur.

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

  7. #7
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 662
    Par défaut
    Salut,

    Si en trois jours vous n'êtes pas parvenu à lire des données depuis un fichier CSV, c'est que vous n'avez pas vraiment cherché... C'est bien plus trivial que de faire du calcul matriciel et faire "quelques graphs".
    Cela peut vous sembler frustrant, mais vous n'obtiendrez pas la solution toute faite ici.

    J

Discussions similaires

  1. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46
  2. Importation de fichier CSV vers une base Interbase
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 15/03/2005, 15h18
  3. Mettre a jour BD avec fichier csv
    Par Looping94510 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 07/02/2005, 18h56
  4. Sortir un fichier csv sur base d une requete
    Par Freeman_80 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 12/01/2005, 11h21
  5. Réponses: 2
    Dernier message: 14/05/2004, 12h55

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