[Python] Como obter as médias dos tamanhos de um agrupamento com Pandas?

Discussão em 'Python' iniciado por Stack, Abril 29, 2025.

  1. Stack

    Stack Membro Participativo

    Dado um Pandas DataFrame, com os dados numa estrutura desse tipo:

    import pandas as pd

    raw_data = {
    'tipo': ['a', 'a', 'b', 'c', 'c', 'c', 'd'],
    'ano': [2000, 2000, 2000, 2001, 2001, 2001, 2001],
    }

    df = pd.DataFrame.from_dict(raw_data)


    Quero obter as médias dos números de itens de diferentes tipos por ano.

    Agrupando com: df.groupby(['tipo', 'ano']).size() obtenho os números de itens por tipo em cada ano em uma Pandas Series:

    tipo ano
    a 2000 2
    b 2000 1
    c 2001 3
    d 2001 1
    dtype: int64


    Quero obter as médias desses números por ano, como em:

    ano media
    2000 1.5
    2001 2.0


    com o fim de plotá-las, usando Pandas.

    Tentei fazer isso com Pandas, mas depois de um tempo tentando usar a API e falhando acabei desistindo e fiz com Python mesmo, usando um dicionário e calculando as médias "na mão".

    Tem um jeito simples de fazer isso usando as abstrações e API do próprio Pandas?

    Continue reading...

Compartilhe esta Página