Pandas: como selecionar linhas entre dois valores


Você pode usar a seguinte sintaxe básica para selecionar linhas em um DataFrame do pandas onde uma coluna está entre dois valores específicos:

 df_filtered = df[df[' points ']. between ( 25 , 35 )]

Este exemplo específico seleciona todas as linhas cujo valor na coluna de pontos está entre 25 e 35.

Se você quiser selecionar linhas cujo valor na coluna de pontos não esteja entre 25 e 35, você pode adicionar um til ( ~ ) antes do nome da coluna:

 df_filtered = df[ ~ df[' points ']. between ( 25 , 35 )]

Os exemplos a seguir mostram como usar cada método na prática.

Exemplo: selecione linhas entre dois valores no Pandas

Suponha que temos o seguinte DataFrame do pandas que contém informações sobre pontos marcados por jogadores de basquete de diferentes times:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Mavs', 'Nets', 'Nets', 'Heat', 'Heat', 'Kings'],
                   ' points ': [22, 28, 35, 34, 29, 28, 23]})

#view DataFrame
print (df)

    team points
0 Mavs 22
1 Mavs 28
2 Nets 35
3 Nets 34
4 Heat 29
5 Heat 28
6 Kings 23

Podemos usar a seguinte sintaxe para selecionar apenas linhas do DataFrame onde o valor na coluna de pontos está entre 25 e 35:

 #select rows where value in points column is between 25 and 35
df_filtered = df[df[' points ']. between ( 25 , 35 )]

#view filtered DataFrame
print (df_filtered)

   team points
1 Mavs 28
2 Nets 35
3 Nets 34
4 Heat 29
5 Heat 28

Observe que apenas as linhas cujo valor na coluna de pontos está entre 25 e 35 foram selecionadas.

Observe que a função entre() inclui valores nos limites inferior e superior.

Por exemplo, o jogador com valor de 35 pontos foi incluído no DataFrame filtrado.

Se você quiser selecionar apenas linhas cujo valor na coluna de pontos não esteja entre 25 e 35, podemos adicionar um til ( ~ ) antes do nome da coluna:

 #select rows where value in points column is not between 25 and 35
df_filtered = df[ ~ df[' points ']. between ( 25 , 35 )]

#view filtered DataFrame
print (df_filtered)

    team points
0 Mavs 22
6 Kings 23

Observe que apenas as linhas cujo valor na coluna de pontos não está entre 25 e 35 foram selecionadas.

Nota : Você pode encontrar a documentação completa da função pandas between() aqui .

Recursos adicionais

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

Pandas: selecione linhas onde duas colunas são iguais
Pandas: selecione linhas do DataFrame usando uma série booleana
Pandas: selecione linhas com valores NaN

Add a Comment

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