Pandas DataFrame DataFrame.query() Função
-
A sintaxe de
pandas.DataFrame.query()
: -
Códigos de exemplo:
DataFrame.query()
Método com condição única -
Códigos de exemplo:
DataFrame.query()
Método quando o nome da coluna tem espaço em branco -
Códigos de exemplo:
DataFrame.query()
Método com múltiplas condições
O método pandas.DataFrame.query()
filtra as filas do DataFrame do chamador utilizando a expressão de consulta dada.
A sintaxe de pandas.DataFrame.query()
:
DataFrame.query(expr, inplace=False, **kwargs)
Parâmetros
expr |
Expressão de consulta com base em quais linhas são filtradas |
inplace |
Booleano. Se True , modificar no local a opção de chamada DataFrame . |
**kwargs |
Argumentos por palavra-chave para o método |
Retornar
Se inplace
for True
, ele devolve o DataFrame
filtrado; caso contrário, “Ninguém”.
Códigos de exemplo: DataFrame.query()
Método com condição única
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)
filtered_df=df.query('X>1')
print("Filtered DataFrame:")
print(filtered_df)
Resultado:
Original DataFrame:
X Y
0 1 4
1 2 1
2 3 8
Filtered DataFrame:
X Y
1 2 1
2 3 8
Retorna o DataFrame
com apenas as linhas que satisfazem a expressão da consulta dada, ou seja, apenas as linhas cujo valor na coluna X
é maior que 1
.
Códigos de exemplo: DataFrame.query()
Método quando o nome da coluna tem espaço em branco
Devemos garantir que os nomes das colunas a serem consultadas não tenham espaços em branco antes de aplicar este método ao DataFrame
.
Se tivermos nomes de colunas com espaços nelas, podemos utilizar a citação de backtick (`).
import pandas as pd
df = pd.DataFrame(
{
"X": [
1,
2,
3,
],
"Y": [4, 1, 8],
"A B": [3, 5, 7],
}
)
print("Original DataFrame:")
print(df)
filtered_df = df.query("`A B`>5")
print("Filtered DataFrame:")
print(filtered_df)
Resultado:
Original DataFrame:
X Y A B
0 1 4 3
1 2 1 5
2 3 8 7
Filtered DataFrame:
X Y A B
2 3 8 7
Aqui, a coluna A B
tem espaço em seu nome. Para fazer a expressão de consulta para a coluna, nós incluímos o nome da coluna em backticks; caso contrário, ele levantará um erro.
Códigos de exemplo: DataFrame.query()
Método com múltiplas condições
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)
filtered_df=df.query('X>1' and 'Y==1')
print("Filtered DataFrame:")
print(filtered_df)
Resultado:
Original DataFrame:
X Y
0 1 4
1 2 1
2 3 8
Filtered DataFrame:
X Y
1 2 1
Se desejarmos filtrar DataFrame
com base em múltiplas condições, combinamos as múltiplas expressões de consulta utilizando e
operador para fazer uma única expressão de consulta composta.
Ele dá a DataFrame
com linhas cujo valor da coluna X
é maior que 1
, e o valor da coluna Y
é igual a 1
.
Podemos modificar o DataFrame original depois de chamar o método query()
, definindo inplace=True
.
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
'Y': [4, 1, 8]})
filtered_df=df.query('X>1' and 'Y==1',inplace=True)
print(df)
Resultado:
X Y
1 2 1
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn