Digamos que mi marco de datos se define por-

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)

Y mi salida es-

   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

Lo que quiero hacer es averiguar cuánto gana cada empresa en promedio por venta

Salida deseada-

   Company Average_Sale
0      MCD            x
1      WND            x
2      CFA            x
3       BK            x
1
Nicholas Dela Torre 15 jun. 2020 a las 17:46

3 respuestas

La mejor respuesta

Puedes intentarlo de esta manera,

df.groupby(['Company'])['Sales'].mean()
3
Always Sunny 15 jun. 2020 a las 14:50

Puede usar groupby en pandas .

grouped_df = df.groupby("Company").mean()
grouped_df.reset_index(inplace=True)
grouped_df

La producción es:

enter image description here

2
Narendra Prasath 15 jun. 2020 a las 14:50

Esto se realiza a través de groupby y mean de la siguiente manera:

df.groupby(['Company']).mean()
2
Alireza 15 jun. 2020 a las 14:49