Pandas DataFrame GroupBy Multiple Columns for Value Counts
Na manipulação de DataFrame com Pandas, agrupar dados por múltiplas colunas pode fornecer insights valiosos. Este artigo demonstra como contar observações ao agrupar por duas colunas, bem como determinar a contagem mais alta para cada agrupamento.
Dado um DataFrame com múltiplas colunas, é possível aplicar a função 'groupby' para agrupar dados com base em colunas específicas. Aqui, temos um DataFrame chamado 'df' com cinco colunas: 'col1', 'col2', 'col3', 'col4' e 'col5'.
import pandas as pd
df = pd.DataFrame([
[1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3],
list('AAABBBBABCBDDD'),
[1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3,4.5,4.6,4.7,4.7,4.8],
['x/y/z','x/y','x/y/z/n','x/u','x','x/u/v','x/y/z','x','x/u/v/b','-','x/y','x/y/z','x','x/u/v/w'],
['1','3','3','2','4','2','5','3','6','3','5','1','1','1']
]).T
df.columns = ['col1','col2','col3','col4','col5']
Contagem por grupos de linhas
Para contar o número de observações em cada grupo de linhas, use a função 'groupby' nas colunas desejadas e depois aplique a função 'size'.
result = df.groupby(['col5', 'col2']).size()
Isso produzirá um DataFrame com as colunas agrupadas como o índice e o tamanho como os valores.
print(result)
Determinando a contagem mais alta
Para determinar a contagem máxima para cada valor 'col2', use a função 'groupby' em 'col2' e depois aplique a função 'max' nos dados agrupados .
result = df.groupby(['col5', 'col2']).size().groupby(level=1).max()
Isso produzirá uma série com a contagem máxima para cada valor 'col2'.
print(result)
Em resumo, usar as funções 'groupby' e 'size' no Pandas permite uma eficiência análise e agregação de dados, permitindo aos usuários extrair insights sobre seus dados de diversas maneiras.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3