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 :

Anova sur Python


Sujet :

Python

  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 41
    Par défaut Anova sur Python
    Bonjour,
    J'ai un fichier "txt" qui contient une variable(à expliquer) continue et des variables (explicatives) discrètes. Donc je cherche à écrire mon modèle ou avoir la table Anova sur Python.
    J'ai besoin de votre aide parce que j'ai trouvé quelque bibliothèque Python qui permet de faire ANOVA comme (statsmodels, Scipy) mais je ne sais pas comment appliquer ces fonctions et comment sortir la table Anova.
    Merci d'avance

  2. #2
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 41
    Par défaut
    personne ne veut m'aider

  3. #3
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Citation Envoyé par salmahanae Voir le message
    personne ne veut m'aider
    Je ne crois pas que le problème soit de "vouloir" t'aider ou pas. Tu cherches de l'aide en même temps dans Python, l'un de ses modules scientifiques et dans l'analyse de variance (anova). Ceci en plein mois d'août et en moins de 24 heures...

    Regarde si la fonction de scipy "scipy.stats.f_oneway(...)" pourrait t'aider (http://docs.scipy.org/doc/scipy/refe...stats.f_oneway). Avec un petit exemple d'utilisation ici: http://stackoverflow.com/questions/1...va-in-a-script.

    La doc de scipy.stats est assez fournie (http://docs.scipy.org/doc/scipy/reference/stats.html), mais son exploitation suppose une bonne compétence en stats. La mienne est trop ancienne pour que je puisse t'aider.

    Si tu souhaites de l'aide pour transformer les données du fichier texte en array, donne un exemple, même simplifié, du contenu du fichier.

  4. #4
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 41
    Par défaut
    merci pour votre réponse et par rapport à mon fichier txt je l'ai transformé en csv (avec delimiter ',') mais je ne sais pas comment faire pour récupérer les données de la première colonne et par exemple la troisième colonne, j'ai essayé de faire ce code mais ça marche pas dans la récupération des données.
    from pandas import *
    from scipy import stats


    fname="G:/MonFichier.csv"
    my_data = read_csv(fname,delimiter=',')

    none = my_data[:,0]
    one = my_data.y[:,2]

    #three = my_data[:,2]

    gradient, intercept, r_value, p_value, std_err = stats.linregress(x,y)

    print "Gradient and intercept", gradient, intercept
    print "R-squared", r_value**2
    print "p-value", p_value

  5. #5
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 41
    Par défaut
    Pardon voila le code:
    from pandas import *
    from scipy import stats


    fname="G:/MonFichier.csv"
    my_data = read_csv(fname,delimiter=',')

    x = my_data[:,0]
    y= my_data.y[:,2]

    #three = my_data[:,2]

    gradient, intercept, r_value, p_value, std_err = stats.linregress(x,y)

    print "Gradient and intercept", gradient, intercept
    print "R-squared", r_value**2
    print "p-value", p_value

  6. #6
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Pour mettre du code dans un message: utiliser les balises de code (l'icone '#' en haut et à droite de la fenêtre d'édition)

    Comme je n'ai pas pandas ni scipy, je vais me contenter de l'extraction csv.

    Admettons que le fichier Monfichier.csv contienne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    1,2,3,4,5
    6,7,8,9,10
    11,12,13,14,15
    16,17,18,19,20
    Petit code (Python 2.7) pour transformer le fichier csv en liste de listes:

    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
    import csv
     
    fname = "MonFichier.csv"
    with open(fname, 'rb') as fs:
        liste = []
        for ligne in csv.reader(fs, delimiter=','):
            nouvligne = []
            for nb in ligne:
                nouvligne.append(int(nb)) # float() au lieu de int() si nb flottant   
            if nouvligne!=[]: # pour éviter la dernière ligne vide si elle existe
                liste.append(nouvligne)         
     
    for ligne in liste:
        print ligne
    [1, 2, 3, 4, 5]
    [6, 7, 8, 9, 10]
    [11, 12, 13, 14, 15]
    [16, 17, 18, 19, 20]
    Pour mettre dans une liste tous les nombres d'indice 0:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    a = []
    for ligne in liste:
        a.append(ligne[0])
    print a
    [1, 6, 11, 16]
    Pour mettre dans une liste tous les nombres d'indice 2:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    a = []
    for ligne in liste:
        a.append(ligne[2])
    print a
    [3, 8, 13, 18]
    Il existe des façons de coder plus concises, mais comme je l'ai mis, c'est très facile à comprendre.

  7. #7
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 41
    Par défaut
    D'accord merci bien. J'ai trouvé une autre méthode pour la récupération des colonnes mais la votre est plus claire .

Discussions similaires

  1. acoustique, musique sur Python
    Par Papou_28 dans le forum Programmation multimédia/Jeux
    Réponses: 7
    Dernier message: 25/04/2007, 08h12
  2. Application reseau de neurone sur python!
    Par tnouss dans le forum Calcul scientifique
    Réponses: 3
    Dernier message: 15/04/2007, 20h18
  3. Boucles sur python
    Par Spitfire378 dans le forum Général Python
    Réponses: 10
    Dernier message: 08/04/2007, 20h46
  4. Comment obtenir une adresse mac sur python
    Par Wael Maaoui dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 19/02/2007, 13h52

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