Pandas: como contar combinações únicas de duas colunas
Você pode usar a seguinte sintaxe para contar o número de combinações exclusivas em duas colunas em um DataFrame do pandas:
df[[' col1 ', ' col2 ']]. value_counts (). reset_index (name=' count ')
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: contando combinações únicas de duas colunas no Pandas
Suponha que temos o seguinte DataFrame do pandas que mostra o time e a posição de vários jogadores de basquete:
import pandas as pd #create dataFrame df = pd. DataFrame ({' team ': ['Mavs', 'Mavs', 'Mavs', 'Mavs', 'Heat', 'Heat', 'Heat', 'Heat'], ' position ': ['Guard', 'Guard', 'Guard', 'Forward', 'Guard', 'Forward', 'Forward', 'Guard']}) #view DataFrame df team position 0 Mavs Guard 1 Mavs Guard 2 Mavs Guard 3 Mavs Forward 4 Heat Guard 5 Heat Forward 6 Heat Forward 7 Heat Guard
Podemos usar a seguinte sintaxe para contar o número de combinações únicas de equipe e posição :
df[[' team ', ' position ']]. value_counts (). reset_index (name=' count ') team position count 0 Mavs Guard 3 1 Heat Forward 2 2 Heat Guard 2 3 Mavs Forward 1
Pelo resultado podemos ver:
- Existem 3 ocorrências da combinação Mavs-Guard.
- Existem 2 ocorrências da combinação Heat-Forward.
- Existem 2 ocorrências da combinação Heat-Guard.
- Há 1 ocorrência da combinação Mavs-Forward.
Observe que você também pode classificar os resultados em ordem crescente ou decrescente.
Por exemplo, podemos usar o seguinte código para classificar os resultados em ordem crescente de número:
df[[' team ', ' position ']]. value_counts (ascending= True ). reset_index (name=' count ') team position count 0 Mavs Forward 1 1 Heat Forward 2 2 Heat Guard 2 3 Mavs Guard 3
Os resultados agora são classificados por número, do menor para o maior.
Nota : Você pode encontrar a documentação completa da função value_counts() do pandas aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:
Pandas: como usar GroupBy e contagens de valores
Pandas: como usar GroupBy com contagem de bin
Pandas: Como criar uma tabela dinâmica com número de valores