Agrupamento de Dados com GroupBy
Agrupamento de dados em DF com Group By
Primeiro: Filtramos os dados extraindo 3 colunas: Segmento, Região e Valor Venda.
Em seguida: Agrupamos por duas colunas: Segmento e Região.
Então: Calculamos a média da coluna que ficou de fora do groupby
python
out:
df3[ ['Segmento', 'Regiao', 'Valor_Venda'] ].groupby(['Segmento', 'Regiao']).mean()
| Valor_Venda | ||
|---|---|---|
| Segmento | Regiao | |
| Consumer | Central | 207.946728 |
| East | 238.875539 | |
| South | 233.390180 | |
| West | 217.033955 | |
| Corporate | Central | 234.763466 |
| East | 228.516929 | |
| South | 238.992025 | |
| West | 235.265911 | |
| Home Office | Central | 208.248046 |
| East | 253.911805 | |
| South | 272.996329 | |
| West | 239.442692 |
Ele nos retorna: Esse segmento, nas regiões, tem essa média POR REGIÃO!
Agregação Múltipla com Group By
Retornando: A média, o Desvio Padrão e a Contagem das linhas!
python
out:
df3[ ['Segmento', 'Regiao', 'Valor_Venda'] ].groupby(['Segmento', 'Regiao']).agg(
Média=('Valor_Venda', 'mean'),
Desvio_Padrão=('Valor_Venda', 'std'),
Contagem=('Valor_Venda', 'count'))
| Média | Desvio_Padrão | Contagem | ||
|---|---|---|---|---|
| Segmento | Regiao | |||
| Consumer | Central | 207.946728 | 587.906523 | 1212 |
| East | 238.875539 | 633.371169 | 1469 | |
| South | 233.390180 | 559.346824 | 838 | |
| West | 217.033955 | 551.997547 | 1672 | |
| Corporate | Central | 234.763466 | 818.947521 | 673 |
| East | 228.516929 | 530.001654 | 877 | |
| South | 238.992025 | 586.176947 | 510 | |
| West | 235.265911 | 471.288764 | 960 | |
| Home Office | Central | 208.248046 | 371.009180 | 438 |
| East | 253.911805 | 722.777318 | 502 | |
| South | 272.996329 | 1404.798466 | 272 | |
| West | 239.442692 | 529.242737 | 571 |