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 :

Boucle simple dataframe [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Septembre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 9
    Par défaut Boucle simple dataframe
    Bonjour,

    Je n'ai pas trouvé de sujet dans la recherche, je me suis donc permet d'en crée un.
    J'ai un fichier Excel ou j'ai trop de données maintenant, je passe donc mes programmes VBA (ou je m'y connais assez bien) en Python, ou je découvre après une formation de 8H, autant dire ultra novice.

    Je travaille sur Notebook Jupyter et j'ai importé mes fichier CSV, et je veux commencer à faire ma première boucle.
    Ma première boucle est simple, si la colonne 10 est nul alors on remplace par la valeur de la colonne 11. (C'est la première )

    Ma colonne 10 est en float64
    Ma colonne 11 est en int64

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    x=0
    while x < len(df1):
        If df1.iloc[x,10]==0:
            df1.iloc[x,10]=df1.iloc[x,11]
        x+=1
    Ca me renvoie le message d'erreur suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     File "<ipython-input-57-35171e38e409>", line 3
        If df1.iloc[x,10]==0:
             ^
    SyntaxError: invalid syntax

    Est ce que quelqu'un peut m'aidé

  2. #2
    Membre habitué
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Septembre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 9
    Par défaut
    Re - Bonjour,

    Bon j'ai trouvez la première source d'erreur, J'avais mis le if avec un i majuscule.

    Cependant mon code boucle depuis plus de 15 minutes .... Bizarre, si quelqu'un a une remarque je suis preneur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    x=0
    while x < len(df1):
        if df1.iloc[x,10]==0:
            df1.iloc[x,10]=df1.iloc[x,11]
        x+=1
    Est ce que c'est possible de filtrer des données data frames ?

    Merci d'avance

  3. #3
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    un dataframe c'est un objet un peu spécial, notamment il faut éviter de faire des boucles dessus et privilégier les fonctions faites pour ça
    en l'occurrence je ferai probablement quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df.apply(lambda x:x[11] if x[10]==0 else x[10])
    (non testé)

  4. #4
    Membre habitué
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Septembre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 9
    Par défaut
    Bonjour,

    Merci BufferBob. Mon boucle fonctionne maintenant.

    Est ce que l'on peut faire des fonctions longue pour remplacer les boucles ?

    Merci d'avance

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

Discussions similaires

  1. Bug Maple avec des boucles simples ?
    Par redvivi dans le forum Maple
    Réponses: 0
    Dernier message: 04/01/2011, 16h06
  2. [MySQL] Fermer une boucle simple quand il y en a une deuxieme de Mysql
    Par xunil2003 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 27/02/2010, 09h59
  3. [PHP 5.2] [PHP-JS] petit souci avec une boucle simple
    Par gtraxx dans le forum Langage
    Réponses: 2
    Dernier message: 05/02/2009, 15h26
  4. Erreur 1004 sur une boucle simple
    Par ruzakruzak dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 06/07/2007, 09h00
  5. boucle simple dans une dataGrid avec quand même une erreur !
    Par fkr dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/11/2005, 15h04

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