Résolue

SOMME.SI.ENS avec python et pandas?

# Dictionnaires # pandas

Bonsoir je travaille sur un script qui retravaille et automatise certaines données issues d'un fichier Excel. Je cherche notamment à reproduire le fonctionnement de la fonction SOMME.SI.ENS. J'ai un 1er onglet avec les données suivantes (j'ai regroupé par couleur les lignes en double sur lesquelles je veux faire une somme conditionnelle):

None


Et dans l'autre onglet je souhaite faire une somme conditionnelle comme dans Excel en fonction du numéro de la machine ET du métier associé:


None


Je pense qu'on doit pouvoir faire ça avec des dictionnaires imbriqués? ou avec pandas?

Merci d'avance de votre aide!







Salut David,


tout à fait tu peux faire ça simplement avec pandas avec la méthode groupby.


je n'ai pas très bien compris par contre la manipulation que tu veux faire avec les 2 tableaux différents. J'ai reproduit un tableau. imaginaire et j'ai appliqué le groupby dessus pour exemple que tu peux reproduire au besoin.


import pandas as pd

df = pd.read_csv("data1.csv", sep=",")

data = df.groupby("machine")["temps_techno"].sum()



Tu vois que les machines qui apparaissent plusieurs fois à droite sont sommés dans l'output "data" à gauche.


Ce qui est important c'est la colonne que tu mets dans ton groupby. Tu dois bien spécifer suivant quelle colonne il doit rassembler. Et ensuite tu lui spécifies quelle opération appliqué au groupement avec le .sum()) et juste avant tu lui spécifies quel paramètre il doit sommer ici.


A ta disposition si ce n'est pas clair pour toi.

Salut!

OK merci je pense en effet que je devrais pouvoir me débrouiller avec ça, j'essaye et je te fais un retour

Salut Pierre-André,

Impeccable j'ai rajouté une condition sur une colonne dans le 'groupby' et j'arrive bien à faire la somme comme je veux.

Par contre comment exporter le résultat du tri dans une nouvelle feuille Excel?

Salut David,


super.


Pour exporter dans un nouveau fichier excel tu peux faire tout simplement:


data.to_excel("mon_fichier_excel.xlsx")


data étant le dataframe pandas.

Salut Pierre-André,

OK tout simplement! Impeccable merci.

Je vais faire la formation pandas je crois...

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.