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 :

Panda datraFrame ET Variable Global [Python 3.X]


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Septembre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2020
    Messages : 3
    Par défaut Panda datraFrame ET Variable Global
    Bonjour,
    J'ai besoin de sauvegarder les actions réalisées par mon programme (en mémoire, pas sur database).
    Pour cela j'ai déclaré une variable globale que j'initialise en DataFrame vide. Une méthode est crée pour ajouter une liste à ma variable locale.
    En passant en debug dans cette méthode, je constate que ma variable est toujours vide (bien que la ligne 'append' soit correctement réalisée.
    Ce même mécanisme marche pour des variable d'autres types (booléen, compteur numeric...) mais ne semble pas fonctionner pour un pandas.dataFrame
    Comment faire pour stocker dans une variable globale les informations dans une tableau pandas.
    Je suis sous windows/python 3.8.8 (si cela change quelque chose)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    def main():  
        global programActivity
        programActivity = pd.DataFrame([], columns = ['date', 'quantite','qteUnit'])  
        ... 
    def addProgramActivity(dictActivity):
        global programActivity
        programActivity.append(dictActivity, ignore_index=True)
    if __name__ == "__main__":
        # execute only if run as a script
        main()
    Merci

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

    df.append retourne un nouveau dataframe laissant le premier inchangé.
    Il faut l'assigner explicitement à la variable.

    note: beaucoup de méthodes pandas ont l'option "inplace" pour modifier le dataframe (au lieu d'en retourner un nouveau) pas trouvé pour .append.

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

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

Discussions similaires

  1. Variable globale / Propriété des threads
    Par rgarnier dans le forum XMLRAD
    Réponses: 4
    Dernier message: 03/10/2003, 10h49
  2. Cacher Variable Url avec Variable Globale
    Par danuz dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/09/2003, 17h20
  3. Variable "globale" (dans plusieurs templa
    Par mattmat dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/06/2003, 19h22
  4. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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