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