Disons que mon bloc de données est défini par-
Company Average_Sale 0 MCD x 1 WND x 2 CFA x 3 BK x
et que ma sortie est-
Company Sales 0 MCD 124.56 1 MCD 845.21 2 WND 45.36 3 BK 9.11 4 CFA 888.40 5 MCD 94.23 6 BK 647.10 7 WND 85.11 8 MCD 632.74 9 CFA 100.00 10 CFA 201.54 11 BK 13.19 12 WND 284.67 13 WND 618.46 14 MCD 20.55
Ce que je veux faire, c'est savoir combien chaque entreprise gagne en moyenne par vente
Résultat souhaité-
dic = {'Company':['MCD','MCD','WND','BK','CFA','MCD','BK', 'WND','MCD','CFA','CFA','BK','WND','WND','MCD'], 'Sales':[124.56,845.21,45.36,9.11,888.40,94.23,647.10,85.11,632.74,100.00, 201.54,13.19,284.67,618.46,20.55]} df = pd.DataFrame(dic) print(df)
3 Réponses :
Cela se fait via groupby
et mean
comme suit:
df.groupby(['Company']).mean()
Vous pouvez essayer de cette façon,
df.groupby(['Company'])['Sales'].mean()
Disons que je voulais créer une nouvelle colonne pour les moyennes. Est-ce que df ['new_col'] = df.groupby (['Company']) ['Sales']. Mean () fonctionnerait-il?
Vous pouvez le faire de cette façon, stackoverflow.com/a/44416348/1138192
Vous pouvez utiliser groupby a > dans les pandas. La sortie est: grouped_df = df.groupby("Company").mean()
grouped_df.reset_index(inplace=True)
grouped_df