Pandas: como filtrar séries por valor


Você pode usar os seguintes métodos para filtrar valores em uma série de pandas:

Método 1: Filtrar valores com base em uma única condição

 #filter for values equal to 7
my_series. loc [ lambda x:x == 7]

Método 2: Filtrar valores usando a condição “OR”

 #filter for values less than 10 or greater than 20
my_series. loc [ lambda x: (x < 10) | (x > 20)]

Método 3: Filtrar valores usando a condição “AND”

 #filter for values greater than 10 and less than 20
my_series. loc [ lambda x: (x > 10) & (x < 20)] 

Método 4: Filtre os valores contidos na lista

 #filter for values that are equal to 4, 7, or 23
my_series[my_series. isin ([4, 7, 23])]

Este tutorial explica como usar cada método na prática com a seguinte série de pandas:

 import pandas as pd

#create pandas Series
data = pd. Series ([4, 7, 7, 12, 19, 23, 25, 30])

#view pandas Series
print (data)

0 4
1 7
2 7
3 12
4 19
5 23
6 25
7 30
dtype: int64

Exemplo 1: Filtrar valores com base em uma condição

O código a seguir mostra como filtrar a série pandas para valores iguais a 7:

 #filter for values equal to 7
data. loc [ lambda x:x == 7]

1 7
2 7
dtype: int64

Também podemos filtrar valores diferentes de 7:

 #filter for values not equal to 7
data. loc [ lambda x:x != 7]

0 4
3 12
4 19
5 23
6 25
7 30
dtype: int644

Exemplo 2: Filtrar valores usando a condição “OR”

O código a seguir mostra como filtrar a série pandas para valores menores que 10 ou maiores que 20:

 #filter for values less than 10 or greater than 20
data. loc [ lambda x: (x < 10) | (x > 20)]

0 4
1 7
2 7
5 23
6 25
7 30
dtype: int64

Exemplo 3: Filtrar valores usando a condição “AND”

O código a seguir mostra como filtrar a série pandas para valores maiores que 10 e menores que 20:

 #filter for values greater than 10 and less than 20
data. loc [ lambda x: (x > 10) & (x < 20)]

3 12
4 19
dtype: int64

Exemplo 4: filtre os valores contidos na lista

O código a seguir mostra como filtrar a série pandas para valores contidos em uma lista:

 #filter for values that are equal to 4, 7, or 23
data[data. isin ([4, 7, 23])]

0 4
1 7
2 7
5 23
dtype: int64

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns de filtragem em Python:

Como filtrar linhas do Pandas DataFrame que contêm uma string específica
Como filtrar um DataFrame do Pandas em múltiplas condições
Como usar o filtro “NOT IN” no Pandas DataFrame

Add a Comment

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