Neste artigo, vamos discutir como selecionar critérios complexos usando o método Query() no Pandas. No pandas para seleção com critérios complexos usando o método de consulta, primeiro, criamos quadros de dados com a ajuda de pandas.Dataframe() e armazenamos uma variável e então com a ajuda do método de consulta() podemos selecionar critérios complexos. Com a ajuda de pandas.Dataframe.loc() , podemos encontrar detalhes do quadro de dados passando o índice do quadro de dados.
Exemplo 1:

import pandas as pd
  
df = pd.DataFrame([[10, 20, 30, 40], [70, 14, 21, 80], 
                   [55, 15, 80, 12]],
                    
                  columns=['GFG_USER_1', 'GFG_USER_2',
                           'GFG_USER_3', 'GFG_USER_4'],
                    
                  index=['Practice1', 'Practice2', 'Practice3'])
  
print(df, "\n")
  
# Filter data using query method
df1 = df.loc[df.query(
    'GFG_USER_1 <= 80 & GFG_USER_2 > 10 & \
    GFG_USER_3 < 50 &  GFG_USER_4 == 80').index]
  
print(df1)

Saída:

Exemplo 2:

import pandas as pd
  
df = pd.DataFrame([[100, 200, 300], [70, 140, 210], 
                   [55, 150, 180]],
                    
                  columns=['PAK', 'AUS', 'IND'],
                    
                  index=['Match1', 'Match2', 'Match3'])
  
print(df, "\n")
  
# Filter data using query method
df1 = df.loc[df.query('PAK <= 80 & AUS > 100 & IND < 250').index]
  
print(df1)

Saída:

Exemplo 3:

import pandas as pd
  
df = pd.DataFrame([[1000, 2000, 3000, 4000], [7000, 1400, 2100, 2800], 
                   [5500, 1500, 800, 1200]],
                    
                  columns=['DSA_Self_Paced', 'OOPS', 'DBMS', 'System_design'],
                    
                  index=['Sale1', 'Sale2', 'Sale3'])
  
print(df, "\n")
  
# Filter data using query method
df1 = df.loc[df.query(
    'DSA_Self_Paced <= 6000 & OOPS > 1400 & DBMS < 1500 \
    &  System_design == 1200').index]
  
print(df1)

Saída: