Funzione Pandas DataFrame DataFrame.query()
-
Sintassi di
pandas.DataFrame.query()
: -
Codici di esempio: Metodo
DataFrame.query()
con condizione singola -
Codici di esempio: Metodo
DataFrame.query()
quando il nome della colonna ha uno spazio vuoto -
Codici di esempio: metodo
DataFrame.query()
con più condizioni
Il metodo pandas.DataFrame.query()
filtra le righe del chiamante DataFrame utilizzando l’espressione di query data.
Sintassi di pandas.DataFrame.query()
:
DataFrame.query(expr, inplace=False, **kwargs)
Parametri
expr |
Espressione di query in base alle righe filtrate |
inplace |
Booleano. Se True , modifica il chiamante DataFrame sul posto |
**kwargs |
Argomenti delle parole chiave per il metodo |
Ritorno
Se inplace
è True
, restituisce il DataFrame
filtrato; altrimenti None
.
Codici di esempio: Metodo DataFrame.query()
con condizione singola
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)
Produzione:
Original DataFrame:
X Y
0 1 4
1 2 1
2 3 8
Filtered DataFrame:
X Y
1 2 1
2 3 8
Restituisce il DataFrame
con solo le righe che soddisfano l’espressione di query data, cioè solo le righe il cui valore nella colonna X
è maggiore di 1.
Codici di esempio: Metodo DataFrame.query()
quando il nome della colonna ha uno spazio vuoto
Dobbiamo assicurarci che i nomi delle colonne da interrogare non abbiano spazi bianchi prima di applicare questo metodo a DataFrame
.
Se abbiamo nomi di colonna con spazi al loro interno, potremmo usare il backtick quoting (`).
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)
Produzione:
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
Qui, la colonna A B
ha uno spazio nel nome. Per creare un’espressione di query per la colonna, racchiudiamo il nome della colonna tra i backtick; altrimenti, solleverà un errore.
Codici di esempio: metodo DataFrame.query()
con più condizioni
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)
Produzione:
Original DataFrame:
X Y
0 1 4
1 2 1
2 3 8
Filtered DataFrame:
X Y
1 2 1
Se desideriamo filtrare DataFrame
in base a più condizioni, combiniamo più espressioni di query utilizzando l’operatore e
per creare un’unica espressione di query composita.
Fornisce il DataFrame
con le righe il cui valore della colonna X
è maggiore di 1
e il valore della colonna Y
è uguale a 1
.
Possiamo modificare il DataFrame originale dopo aver chiamato il metodo query()
impostando 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)
Produzione:
X Y
1 2 1
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn