Pandas: como filtrar linhas com base nos valores de uma lista


Você pode usar a seguinte sintaxe básica para filtrar linhas em um DataFrame do pandas que contém um valor em uma lista:

 df[df[' team ']. isin ([' A ',' B ',' D '])]

Este exemplo específico filtrará o DataFrame para conter apenas linhas em que a coluna Equipe seja igual ao valor A , B ou D.

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: filtrar o DataFrame do Pandas com base nos valores da lista

Suponha que temos o seguinte DataFrame do pandas que contém informações sobre vários jogadores de basquete:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})
                   
#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 to 22 7 8
2 B 19 7 10
3 B 14 9 6
4 C 14 12 6
5 C 11 9 5
6 D 20 9 9
7 D 28 4 12

Agora, suponha que queiramos filtrar o DataFrame para conter apenas linhas cujo valor na coluna da equipe seja igual a A , B ou D.

Podemos usar a seguinte sintaxe para fazer isso:

 #filter for rows where team is equal to 'A', 'B' or 'D'
df[df[' team ']. isin ([' A ',' B ',' D '])]

	team points assists rebounds
0 A 18 5 11
1 to 22 7 8
2 B 19 7 10
3 B 14 9 6
6 D 20 9 9
7 D 28 4 12

Observe que o DataFrame filtrado contém apenas linhas em que o valor na coluna Equipe é igual a A , B ou D.

Observe também que você pode usar a função isin() para filtrar por valores numéricos.

Por exemplo, podemos usar o seguinte código para filtrar linhas onde a coluna de assistências é igual a 5 ou 9 :

 #filter for rows where assists is equal to 5 or 9
df[df[' assists ']. isin ([ 5,9 ] )]


        team points assists rebounds
0 A 18 5 11
3 B 14 9 6
5 C 11 9 5
6 D 20 9 9

Observe que o DataFrame filtrado contém apenas linhas com valor na coluna de assistências igual a 5 ou 9 .

Nota : Você pode encontrar a documentação completa para a função isin() do pandas aqui .

Recursos adicionais

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

Pandas: como adicionar filtro à tabela dinâmica
Pandas: Como filtrar “Não contém”
Pandas: como filtrar linhas contendo uma string específica

Add a Comment

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