Pandas: como usar variável na função query()


Você pode usar a seguinte sintaxe para usar a função query() em pandas e referenciar um nome de variável:

 df. query (' team == @team_name ')

Esta consulta específica procura linhas em um DataFrame do pandas onde a coluna team é igual ao valor armazenado na variável chamada team_name .

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

Exemplo: como usar uma variável na consulta Pandas

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', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C '],
                   ' position ':['G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [22, 25, 24, 39, 34, 20, 18, 17, 20, 19, 22]})

#view DataFrame
print (df)

   team position points
0 AG 22
1 AG 25
2 AF 24
3 BG 39
4 BF 34
5 BF 20
6 BF 18
7 GC 17
8 GC 20
9 CF 19
10 CF 22

Agora suponha que queiramos encontrar linhas onde o valor na coluna da equipe seja igual a C.

Podemos usar a seguinte sintaxe para criar uma variável chamada team_name que seja igual a “C” e, em seguida, referenciar esta variável na função query() :

 #specify team name to search for
team_name = ' C '

#query for rows where team is equal to team_name
df. query (' team == @team_name ')

        team position points
7 C G 17
8 C G 20
9 C F 19
10 C F 22

Observe que a função query() retorna todas as linhas onde o valor na coluna da equipe é igual a C.

Observe também que podemos fazer referência a múltiplas variáveis na função query() se quisermos.

Por exemplo, o código a seguir mostra como usar a função query() para retornar todas as linhas onde o valor na coluna team é igual ao valor de uma variável chamada team_A ou de uma variável chamada team_C :

 #create two variables
team_A = ' A ' 
team_C = ' C '

#query for rows where team is equal to either of the two variables
df. query (' team == @team_A | team == @team_C ')

        team position points
0 A G 22
1 A G 25
2 A F 24
7 C G 17
8 C G 20
9 C F 19
10 C F 22

A consulta retorna todas as linhas do DataFrame onde team é igual aos valores armazenados em uma das duas variáveis que especificamos.

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

Recursos adicionais

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

Pandas: como filtrar linhas com base no comprimento da string
Pandas: como excluir linhas com base na condição
Pandas: como usar o filtro “NO IN”

Add a Comment

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