Pandas DataFrame DataFrame.query() Funktion
-
Syntax von
pandas.DataFrame.query()
: -
Beispielcodes:
DataFrame.query()
Methode mit Einzelbedingung -
Beispielcodes:
DataFrame.query()
Methode, wenn Spaltenname Whitespace hat -
Beispielcodes:
DataFrame.query()
Methode mit mehreren Bedingungen
Die Methode pandas.DataFrame.query()
filtert die Zeilen des aufrufenden DataFrame unter Verwendung des gegebenen Abfrageausdrucks.
Syntax von pandas.DataFrame.query()
:
DataFrame.query(expr, inplace=False, **kwargs)
Parameter
expr |
Abfrageausdruck, basierend auf dem Zeilen gefiltert werden |
inplace |
Boolesch. Wenn True , modifizieren Sie den Aufrufer DataFrame an Ort und Stelle |
**kwargs |
Schlüsselwort-Argumente für die Methode |
Zurück
Wenn inplace
gleich True
ist, gibt es den gefilterten DataFrame
zurück; andernfalls None
.
Beispielcodes: DataFrame.query()
Methode mit Einzelbedingung
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)
Ausgabe:
Original DataFrame:
X Y
0 1 4
1 2 1
2 3 8
Filtered DataFrame:
X Y
1 2 1
2 3 8
Es gibt den DataFrame
mit nur den Zeilen zurück, die den gegebenen Abfrageausdruck erfüllen, d.h. nur die Zeilen, deren Wert in Spalte X
größer als 1
ist.
Beispielcodes: DataFrame.query()
Methode, wenn Spaltenname Whitespace hat
Wir müssen sicherstellen, dass Spaltennamen, die abgefragt werden sollen, keine Leerzeichen enthalten, bevor wir diese Methode auf DataFrame
anwenden.
Wenn wir Spaltennamen mit Leerzeichen haben, können wir Backtick-Anführungszeichen (`) verwenden.
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)
Ausgabe:
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
Hier hat die Spalte A B
Leerzeichen in ihrem Namen. Um einen Abfrageausdruck für die Spalte zu erstellen, schließen wir den Spaltennamen in Backticks ein; andernfalls wird ein Fehler ausgegeben.
Beispielcodes: DataFrame.query()
Methode mit mehreren Bedingungen
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)
Ausgabe:
Original DataFrame:
X Y
0 1 4
1 2 1
2 3 8
Filtered DataFrame:
X Y
1 2 1
Wenn wir DataFrame
basierend auf mehreren Bedingungen filtern wollen, kombinieren wir die mehreren Abfrageausdrücke mit Hilfe des and
Operators, um einen einzigen zusammengesetzten Abfrageausdruck zu erstellen.
Er ergibt den Dataframe
mit Zeilen, deren Wert der Spalte X
größer als 1
ist und der Wert der Spalte Y
gleich 1
ist.
Wir können den ursprünglichen DataFrame nach dem Aufruf der query()
Methode modifizieren, indem wir inplace=True
setzen.
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)
Ausgabe:
X Y
1 2 1
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn