Pandas: como contar valores em uma coluna com condição


Você pode usar os seguintes métodos para contar o número de valores em uma coluna Pandas DataFrame com uma condição específica:

Método 1: contar valores em uma coluna com condição

 len(df[df[' col1 ']==' value1 '])

Método 2: contar valores em múltiplas colunas com condições

 len(df[(df[' col1 ']==' value1 ') & (df[' col2 ']==' value2 ')])

Os exemplos a seguir mostram como usar cada método na prática com o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' pos ': ['Gu', 'Fo', 'Fo', 'Fo', 'Gu', 'Gu', 'Fo', 'Fo'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28]})

#view DataFrame
print (df)

  team pos points
0 A Gu 18
1 A Fo 22
2 A Fo 19
3 A Fo 14
4 B Gu 14
5 B Gu 11
6 B Fo 20
7 B Fo 28

Exemplo 1: Contar valores em uma coluna com condição

O código a seguir mostra como contar o número de valores na coluna da equipe onde o valor é igual a “A”:

 #count number of values in team column where value is equal to 'A'
len(df[df[' team ']==' A '])

4

Podemos observar que existem 4 valores na coluna da equipe onde o valor é igual a “A”.

Exemplo 2: contar valores em múltiplas colunas com condições

O código a seguir mostra como contar o número de linhas no DataFrame onde a coluna team é igual a “B” e a coluna pos é igual a “Gu”:

 #count rows where team is 'B' and pos is 'Gu'
len(df[(df[' team ']==' B ') & (df[' pos ']==' Gu ')])

2

Podemos ver que existem 2 linhas no DataFrame que atendem a ambas as condições.

Podemos usar sintaxe semelhante para contar o número de linhas que atendem ao número desejado de condições.

Por exemplo, o código a seguir mostra como contar o número de linhas que atendem a três condições:

  • a equipe é igual a ‘B’
  • pos é igual a ‘Gu’
  • pontos são maiores que 12
 #count rows where team is 'B' and pos is 'Gu' and points > 15
len(df[(df[' team ']==' B ') & (df[' pos ']==' Gu ') & (df[' points ']> 12 )])

1

Podemos ver que uma única linha do DataFrame atende a todas as três condições.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Pandas: como encontrar a diferença entre duas linhas
Pandas: como deletar linhas contendo uma string específica
Pandas: Como remover linhas duplicadas em um DataFrame

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *