Grupo de pandas agregado

Grupo de pandas agregado

A técnica do grupo é essencial por causa de quão bem agrega dados em termos de desempenho e tamanho do código. O termo "grupo" normalmente descreve um procedimento, incluindo as etapas a seguir:

  • Dividindo: Ao aplicar certas condições a conjuntos de dados, podemos dividir dados em grupos.
  • Aplicando: Um processo em que aplicamos individualmente um método a cada grupo.
  • Combinando: Um procedimento para combinar vários conjuntos de dados para formar uma estrutura de dados após o uso do método groupby ().

No processo de agregação, uma estatística resumida para cada grupo é calculada. Para cada grupo, o método agregado retorna um valor agregado (valor único). Podemos executar várias operações de agregação em dados agrupados depois de dividir os dados em grupos usando a função do grupo.

Por que os pandas fornecem uma variedade de métodos de agregação de dados?

Os pandas oferecem uma ampla gama de recursos e funções para ajudar na análise e agregação de dados. O uso dos métodos pivot (), groupby () e pivot_table (), por exemplo, cada um oferece uma perspectiva diferente de como os dados seriam agregados. Eles fornecem abordagens práticas para realizar várias tarefas, em vez de serem simplesmente reembaladas.

Como usar o .função agg () em pandas

Uma média simples ou soma dos valores é a função de agregação que é usada com mais frequência. Você pode usar a coluna de um quadro de dados ou várias colunas para chamar uma função agregada. Você verá muitas maneiras de agregar dados usando o método do grupo de pandas. Para demonstrar o quanto é mais fácil o procedimento, vejamos alguns exemplos abaixo. Operações matemáticas básicas como soma, mínima, máxima, desvio absoluto médio, desvio padrão, média, mediana, variação e produto estão entre as funções de agregação integradas mais frequentemente usadas. Para resumir dados, podemos combinar o grupo e a função agg ().

Exemplo # 01: Determine a soma das colunas agrupando os dados usando o grupo.função agg ()

Primeiro criaremos um DataFrame usando PD.Função DataFrame () para que possamos agrupar os dados da coluna ou colunas do DataFrame e depois determinar seu valor médio. Devemos importar os módulos dos pandas e da biblioteca Numpy antes de criarmos o quadro de dados.

Como você pode ver, usamos o Pandas Dictionary para criar nosso quadro de dados. Nosso Dados Dataframe DF tem quatro colunas: “Paciente” “Grupo”, “Idade” e “Banetas de Sangue”. Os valores de dados ('Ali', 'John', 'Mike', 'Mike', 'John', 'Ali', 'Ali', 'Mike') estão contidos pela coluna “Paciente”, enquanto os valores dos dados ('A ',' A ',' b ',' c ',' a ',' c ',' c ',' b '), (21, 22, 24, 21, 20, 24, 22, 22) e ( 2, 3, 1, 1, 2, 3, 2, 1) estão contidos nas colunas "Grupo", "Age" e "Blood_bottles", respectivamente. Suponhamos que tenhamos que determinar a soma dos valores na coluna 'Blood_bottles', agrupando os valores na coluna 'grupo'.

Para dados do grupo 'A', a soma dos valores de 'Blood_bottles' é 7. Para valores de grupo 'B' e 'C', a soma dos valores de 'Blood_bottles' é 2 e 6, respectivamente. Também podemos agrupar várias colunas para determinar a soma para cada grupo.

Como pode ser observado, passamos uma lista de rótulos de coluna, eu.e., ['paciente', 'grupo'] dentro da função groupby () para criar os grupos de categorias em cada coluna especificada. Para cada grupo de colunas especificadas, determinamos a soma dos valores em 'Blood_bottles'. Por exemplo, 'Ali' está na coluna do 'grupo' valores A e C. No grupo A, a soma dos valores de 'Blood_bottles' para Ali é 2 e 5 no grupo 'C'.

Exemplo # 02: Aplicando várias funções em uma única coluna de dados de dados usando o grupo.função agg ()

Várias agregações podem ser aplicadas com o método "groupby ()" usando a função pandas agg (). Uma lista de chamadas pode ser passada para o método. Vejamos como podemos agregar nossos dados usando os métodos internos da biblioteca Numpy. Ao contrário do exemplo anterior, aplicaremos várias funções a uma única coluna do DataFrame. O Pd.A função DataFrame () será usada para criar um DataFrame para isso com pelo menos uma coluna contendo valores numéricos.


O quadro de dados necessário foi criado com uma coluna numérica I.e. 'Marcas' com valores 41, 40, 35, 39, 49, 31, 34 e 42. Existem mais 3 colunas 'estudantes', 'disciplinas' e 'graus' em nosso quadro de dados, que podem ser divididos em grupos usando a função groupby (). Os valores na coluna 'alunos' e 'disciplinas' são ('Harry', 'Ron', 'Harry', 'Lana', 'Sam', 'Ron', 'Lana', 'Max') e ('C ++' , 'Java', 'python', 'python', 'ai', 'java', 'c ++', 'ai'). Enquanto o grau de coluna contém os valores de dados como strings, eu.e., ('Ms', 'bs', 'bs', 'ms', 'ms', 'ms', 'bs', 'bs'). Suponha que tenhamos que agrupar os dados da coluna 'sujeitos' e determinar a média e a soma da coluna 'marcas' para cada dados agrupados.

Especificamos o nome da coluna 'sujeitos' como uma string dentro da função groupby () para converter os dados em grupos de categorias. Para a coluna Marks, usamos o método agg () e dentro da função agg () especificamos as funções Numpy np.soma e np.significa encontrar a soma e a média das marcas de cada grupo de dados em assuntos de coluna. A soma e o valor médio do valor do grupo 'ai' são 91 e 45.5, respectivamente. A soma das marcas para o valor 'C ++' é 75 e o valor médio é 37.5. Para o grupo Java, a soma das marcas é 71 e o valor médio é 35.5, enquanto a soma e o valor médio para Python são 74 e 37, respectivamente.

Exemplo # 03: Aplicando várias funções nas várias colunas do quadro de dados usando o grupo.função agg ()

Em vez de aplicar funções diferentes na coluna de um único quadro de dados, podemos aplicar várias funções a diferentes colunas numéricas. Podemos usar um dicionário na função agg () como uma entrada para aplicar um método de agregação específico a diferentes colunas do quadro de dados. Vamos importar as bibliotecas Pandas e Numpy antes de criar um quadro de dados com várias colunas numéricas.

Existem quatro colunas no recém -criado DataFrame com os nomes "Player", "Menor_score", 'Highest_Score' e “Location”. Na coluna 'Player', armazenamos os nomes de alguns jogadores como valores de dados de string ('Leo', 'Alex', 'Leo', 'Fin', 'Leo', 'Alex', 'Fin', ' Fin '), na coluna' Minamento_score ', existem pontuações mais baixas de jogadores para algumas partidas (12, 34, 2, 21, 9, 1, 0, 34), enquanto na coluna' Highest_Score 'temos as maiores pontuações dos jogadores (12, 34, 2, 21, 9, 1, 0, 34) e na coluna 'Localização' Há os nomes dos locais onde os jogadores jogaram suas partidas ('França', 'Inglaterra', 'Dubai', ' Dubai ',' Inglaterra ',' França ',' Dubai ',' França ').

Suponhamos que, depois de agrupar os dados na coluna 'jogadores', precisamos encontrar a média para os valores da coluna 'Minamento_score' e a soma dos valores de dados 'Highest_Score' para cada grupo.

Dentro da função agg (), passamos por um dicionário Python 'Highest_Score': 'Sum', 'Minamento_score': 'Mean' para encontrar a soma e o valor médio para uma coluna especificada contra cada grupo. Pode -se observar que o valor agrupado Alex tem a soma do valor 'mais alto_score' 132 e a média do valor 'Minamento_score' 17.5. Para 'fin', a soma dos valores é 199 e a média é 18.3333333 nas colunas 'High mais. O valor do grupo Leo tem um valor de soma de 180 em 'Highest_score' e um valor médio de 7.666667 em 'Minamento_score'.

Conclusão

Neste tutorial, discutimos as funções de grupo () e agregação em pandas. Também discutimos como usar o grupo.função agg (). Implementamos três exemplos neste artigo para ensinar como usar uma única função de agregação em uma coluna de dados de dados, agrupando os dados de colunas únicas e múltiplas, como aplicar várias funções de agregação em uma única coluna de um DataFrame e como aplicar múltiplas Funções de agregação nas várias colunas do quadro de dados usando o grupo.função agg ().