Partage
  • Partager sur Facebook
  • Partager sur Twitter

Pyspark : sommer plusieurs colonnes

    16 janvier 2018 à 13:34:43

    Bonjour à la communauté!

    Alors voila, je débute un peu en python, la solution et donc surement toute simple...

    L'environnement : plateforme spark, développement en pyspark via le notebook Hue

    Le problème : j'ai importer un fichier csv que j'ai transformé en dataframe avec une fonction sql, jusqu'ici, pas de souci.

    La ou je bloque, c'est que je dois faire la somme de plusieurs colonnes. Ces colonnes sont toutes construites sur le même schéma : 

    - un prefix qui ne change pas : "montant_frais_"

    - l'année : qui va de 2008 à 2016

    J'ai donc 8 colonnes allant de "montant_frais_2008" jusqu'à "montant_frais_2016"

    Mais le nombre de colonnes à sommer est variable : un coup ça peut être 4 colonnes de 2008 à 2011 et le coup d'après 3 colonnes de 2012 à 2014

    Dans un 1er temps, j'avais pensé passer par une fonction qui aurait créé une liste regroupant le nom de toutes les colonnes à sommer :

    ma_liste = ['montant_frais_2008',...,'montant_frais_x'] ==> malheureusement, je me suis retrouver dans l'incapacité de travailler cette liste pour en sommer les valeurs inhérentes dans mon dataframe...

    Du coup, je me suis pencher sur une 2nd solution qui était de faire une fonction qui additionnerait chaque colonne 1 à 1, mais à par l'idée, j'ai pas réussi à aller plus loin...

    Bref, j'suis tout coincé, help please

    merci d'avance à tous

    • Partager sur Facebook
    • Partager sur Twitter
      17 janvier 2018 à 17:03:17

      Salut,

      En fait, j'essaye de comprendre, ce que vous ne comprenez pas :)

      Êtes-vous capable de créer un petit exemple, pour nous démontrer votre démarche?

      Pas besoin de tout le dataframe. Uniquement, quelques éléments, avec de faux montant (au pire). Histoire de voir la structure de vos colonnes.

      Pour l'instant, c'est pas facile de vous aider, sans connaître la structure de votre fichier.

      De plus, pour transformer un fichier csv en dataframe, vous pouvez utiliser le module pandas, qui sert justement à structurer votre fichier, sous forme de dictionnaire (Je crois)...

      Voici un lien, utilisant quelque méthodes. (Dans ce lien, il y a des exemples de données à utiliser. S'ils peuvent servir à créer une exemple pour nous démontrer votre problème, utilisez-les)

      Bonne chance

      A+

      • Partager sur Facebook
      • Partager sur Twitter

      Pyspark : sommer plusieurs colonnes

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown