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 :

Tri dans une dataframe selon une chaîne de caractère


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Débutant en Python
    Inscrit en
    Février 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Débutant en Python

    Informations forums :
    Inscription : Février 2020
    Messages : 9
    Par défaut Tri dans une dataframe selon une chaîne de caractère
    Bonjour

    Je suis très largement débutant en Python, que j'essaie d'apprendre pour aller un peu plus loin que les fonctionnalités d'Excel.

    Pour m'entraîner, je fais des petits tests sur des données perso, à savoir mes exports bancaires.

    Après avoir importé sous la forme d'une DataFrame l'ensemble de mes données (structurée avec une ligne par opération, avec en colonne les dates, libellés, montants, etc.), je voudrais voir combien j'ai dépensé dans l'année dans une certaine boutique.

    L'information est contenue dans la colonne 'Dépense' et libellée ainsi : 'CARTE 20/12/2018 TERRA BACCHUS'.

    C'est une donnée de type 'object', qui contient le nom de l'enseigne : 'TERRA BACCHUS'.

    Je veux donc sommer toutes les dépenses, avec du code du type :

    Mais en ayant filtré auparavant toutes les dépenses contenant le mot 'TERRA'.

    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    df2 = df[df['Dépense'] == '.*TERRA.*']
    df2['Montant'].sum()
    Sans succès... et sans issue de secours sur Google...

    Merci beaucoup à celle ou celui qui voudra bien m'aider !

  2. #2
    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,

    Citation Envoyé par onoyonoy Voir le message
    Je veux donc sommer toutes les dépenses (...) en ayant filtré auparavant toutes les dépenses contenant le mot 'TERRA'.
    (...)
    #df2 = df[df['Dépense'] == '.*TERRA.*']#
    #df2['Montant'].sum()#
    c'est la méthode .str.contains() que tu cherches :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df[df['Dépense'].str.contains('.*TERRA.*')]['Montant'].sum()

  3. #3
    Membre du Club
    Homme Profil pro
    Débutant en Python
    Inscrit en
    Février 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Débutant en Python

    Informations forums :
    Inscription : Février 2020
    Messages : 9
    Par défaut
    Mille mercis @BufferBob !!!

    Je peux enfin poursuivre mon apprentissage ! ^^

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 30/03/2019, 11h39
  2. Nombre d'occurences dans une chaîne de caractères
    Par Olivier14 dans le forum Langage
    Réponses: 4
    Dernier message: 20/03/2006, 19h11
  3. Impossible d'utiliser & dans une chaîne de caractère
    Par gingman dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/03/2006, 20h35
  4. ?> dans une chaîne de caractéres
    Par nebule dans le forum Langage
    Réponses: 8
    Dernier message: 15/11/2005, 15h01
  5. Réponses: 4
    Dernier message: 23/06/2004, 09h51

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