[Python] Agrupar e agregar dados

Discussão em 'Python' iniciado por Stack, Maio 1, 2025.

  1. Stack

    Stack Membro Participativo

    Tenho o seguinte arquivo em CSV (12 Milhões de registros):

    UF Municipio Cod NIS Valor Data
    MA IMPERATRIZ 803 16361947271 45.00 01/01/2011
    MA IMPERATRIZ 803 74629273937 15.00 01/01/2011
    BA RUY BARBOSA 3845 16481166579 50.00 01/02/2011
    BA RUY BARBOSA 3845 16481166579 50.00 01/03/2011
    MG IPATINGA 653 73639474937 10.00 01/03/2011
    MG IPATINGA 653 83733638376 20.00 01/03/2011
    MG IPATINGA 653 52648747648 25.00 01/03/2011
    ...


    Preciso agrupar os dados por Data, UF e Município, calculando a quantidade de NIS e somando os valores. Ou seja, para cada grupo de Data, UF e Município, preciso contar a quantidade de NIS distintos e somar os valores. Para os dados acima, o resultado pretendido seria:

    Data UF Municipio Quant. Valor
    01/01/2011 MA IMPERATRIZ 002 60.00
    01/02/2011 BA RUY BARBOSA 001 50.00
    01/03/2011 BA RUY BARBOSA 001 50.00
    01/03/2011 MG IPATINGA 003 55.00
    ...


    Este resultado deve gerar um novo arquivo CSV.
    Para somar ou contar os valores eu uso os códigos abaixo (que funcionam):

    Conta_NIS = csvPanda.groupby(['Data', 'UF', 'Municipio']).NIS.count()
    Soma_Valor = csvPanda.groupby(['Data', 'UF', 'Municipio']).Valor.sum()


    Mas como incluir as duas agregações (count e sum) em uma mesma saída para exportar para um novo arquivo CSV?

    Muito grato a todos!

    Continue reading...

Compartilhe esta Página