Einführung
In diesem Lab lernst du über die query()-Methode in der Pandas-Bibliothek. Die query()-Methode ermöglicht es dir, einen DataFrame basierend auf einem booleschen Ausdruck zu filtern. Sie ähnelt der filter()-Methode. Mit dieser Methode kannst du den DataFrame basierend auf einer oder mehreren Spalten filtern und mehrere Bedingungen mithilfe des 'AND'-Operators kombinieren.
Tipps für die VM
Nachdem der VM-Start abgeschlossen ist, klicke in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.
Manchmal musst du einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.
Wenn du bei der Lernphase Probleme hast, kannst du Labby gerne fragen. Gib nach der Sitzung Feedback ab, und wir werden das Problem für dich prompt beheben.
Erstellen eines DataFrames
Zunächst erstellen wir einen DataFrame, mit dem wir arbeiten können. In diesem Beispiel erstellen wir einen DataFrame, der Informationen über Personen enthält, einschließlich ihres Namens, Alters, Größen und Gewichten.
#importing pandas as pd
import pandas as pd
#creating the DataFrame
df = pd.DataFrame({'Name': ['Chetan', 'Yashas', 'Yuvraj', 'Pooja', 'Sindu', 'Renuka'],
'Age': [19, 26, 22, 24, 21, 23],
'Height': [165, 150, 168, 157, 155, 170],
'Weight': [60, 65, 70, 50, 52, 55]})
Filtern des DataFrames nach einer einzelnen Spalte
Als nächstes filtern wir den DataFrame basierend auf einer einzelnen Spalte mit der query()-Methode. In diesem Beispiel filtern wir den DataFrame, um nur Zeilen zu enthalten, in denen das Alter unter 23 liegt.
#filtering the DataFrame by age
filtered_df = df.query('Age < 23')
#printing the filtered DataFrame
print(filtered_df)
Ausgabe:
Name Age Height Weight
0 Chetan 19 165 60
2 Yuvraj 22 168 70
4 Sindu 21 155 52
Filtern des DataFrames durch Vergleich zweier Spalten
Lassen Sie uns nun den DataFrame filtern, indem wir zwei Spalten miteinander vergleichen, indem wir die query()-Methode verwenden. In diesem Beispiel filtern wir den DataFrame, um nur Zeilen zu enthalten, in denen die Werte in der "sci_Marks"-Spalte größer als die Werte in der "Maths_Marks"-Spalte sind.
#creating the DataFrame
df = pd.DataFrame({'Name': ['Chetan', 'Yashas', 'Yuvraj', 'Pooja', 'Sindu', 'Renuka'],
'sci_Marks': [85, 70, 75, 90, 95, 70],
'Maths_Marks': [82, 79, 80, 89, 92, 70]})
#filtering the DataFrame by comparing two columns
filtered_df = df.query('sci_Marks > Maths_Marks')
#printing the filtered DataFrame
print(filtered_df)
Ausgabe:
Name sci_Marks Maths_Marks
0 Chetan 85 82
3 Pooja 90 89
4 Sindu 95 92
Filtern des DataFrames mit dem 'AND'-Operator
Schließlich filtern wir den DataFrame, indem wir den 'AND'-Operator verwenden, um mehrere Bedingungen zu kombinieren. In diesem Beispiel filtern wir den DataFrame, um nur Zeilen zu enthalten, in denen die Größe größer als 155 ist und das Gewicht größer als 60 ist.
#filtering the DataFrame by using 'AND' operator
filtered_df = df.query('Height > 155 and Weight > 60')
#printing the filtered DataFrame
print(filtered_df)
Ausgabe:
Name Age Height Weight
1 Yashas 26 150 65
2 Yuvraj 22 168 70
Zusammenfassung
Herzlichen Glückwunsch! In diesem Lab haben Sie gelernt, wie die query()-Methode in der Pandas-Bibliothek verwendet wird. Sie wissen jetzt, wie Sie einen DataFrame basierend auf einem booleschen Ausdruck filtern, nach einer einzelnen Spalte filtern, zwei Spalten vergleichen und den 'AND'-Operator verwenden, um mehrere Bedingungen zu kombinieren. Diese Methode ist hilfreich, um Daten in Pandas-DataFrames schnell und effizient zu filtern. Üben Sie weiterhin und erkunden Sie verschiedene Anwendungsfälle, um sich in der Verwendung der query()-Methode noch professioneller zu machen.