Pandas DataFrame Query Methode

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) pandas(("Pandas")) -.-> pandas/ReadingDataGroup(["Reading Data"]) pandas(("Pandas")) -.-> pandas/DataSelectionGroup(["Data Selection"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) pandas/ReadingDataGroup -.-> pandas/read_csv("Read CSV") pandas/ReadingDataGroup -.-> pandas/read_excel("Read Excel") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") pandas/DataSelectionGroup -.-> pandas/select_rows("Select Rows") pandas/DataSelectionGroup -.-> pandas/conditional_selection("Conditional Selection") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") python/DataScienceandMachineLearningGroup -.-> python/data_analysis("Data Analysis") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills pandas/read_csv -.-> lab-68705{{"Pandas DataFrame Query Methode"}} pandas/read_excel -.-> lab-68705{{"Pandas DataFrame Query Methode"}} python/conditional_statements -.-> lab-68705{{"Pandas DataFrame Query Methode"}} pandas/select_rows -.-> lab-68705{{"Pandas DataFrame Query Methode"}} pandas/conditional_selection -.-> lab-68705{{"Pandas DataFrame Query Methode"}} python/importing_modules -.-> lab-68705{{"Pandas DataFrame Query Methode"}} python/data_collections -.-> lab-68705{{"Pandas DataFrame Query Methode"}} python/data_analysis -.-> lab-68705{{"Pandas DataFrame Query Methode"}} python/data_visualization -.-> lab-68705{{"Pandas DataFrame Query Methode"}} end

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 mithilfe des 'AND'-Operators

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.