Zeilen nach groupby() in Pandas Python filtern

Fariba Laiq 15 Februar 2024
  1. Pandas groupby()-Methode
  2. Filtern Sie Zeilen nach groupby() in Pandas Python
Zeilen nach groupby() in Pandas Python filtern

Pandas ist eine Open-Source-Bibliothek in Python, die zum Analysieren und Bearbeiten von Daten verwendet wird. Mit Hilfe von Pandas können wir Datenrahmen erstellen und verschiedene Operationen darauf ausführen, um Daten zu extrahieren oder abzurufen.

Mit dem Pandas-Modul können wir auch Daten extrahieren, filtern und sortieren. In diesem Artikel wird untersucht, wie wir Zeilen in einem Datensatz filtern können, nachdem wir die Operation groupby() ausgeführt haben.

Pandas groupby()-Methode

Die groupby()-Methode im Pandas-Modul hilft uns, die Daten in Kategorien zu sortieren und weitere Operationen darauf anzuwenden. Diese Methode ist auch eine effiziente Möglichkeit, Daten zu aggregieren.

Wir können Daten in Datenrahmen mit dataframe.groupby() mit einigen definierten Kriterien manipulieren. Wenden wir nun die Methode groupby() auf den folgenden Datenrahmen an.

Wir verwenden den folgenden Code, um diesen Datenrahmen zu generieren.

Beispielcode:

import pandas as pd

data = {
    "Student_Name": ["Anil", "Suharwardy", "Fatina", "John", "Karen"],
    "Country": ["India", "India", "Pakistan", "America", "America"],
    "Biology": [68, 73, 87, 58, 78],
    "Chemistry": [78, 98, 89, 73, 87],
}
data_frame = pd.DataFrame(data=data)
print(data_frame)

Ausgang:

Beispiel Pandas Dataframe

Lassen Sie uns nun diese Daten mit Hilfe von groupby() nach Ländern gruppieren.

Im folgenden Snippet haben wir die Kriterien für die groupby()-Methode hinzugefügt, die verwendet wird, um jeden Eintrag in Kategorien zu sortieren. Die gruppierten Daten drucken wir dann mit Hilfe einer Schleife aus.

Beispielcode:

import pandas as pd

data = {
    "Student_Name": ["Anil", "Suharwardy", "Fatina", "John", "Karen"],
    "Country": ["India", "India", "Pakistan", "America", "America"],
    "Biology": [68, 73, 87, 58, 78],
    "Chemistry": [78, 98, 89, 73, 87],
}
data_frame = pd.DataFrame(data=data)
grouped = data_frame.groupby("Country")
for one in grouped:
    print(one, "\n")

Ausgang:

Verwenden der Methode groupby() von Pandas

Filtern Sie Zeilen nach groupby() in Pandas Python

Nachdem wir nun verstanden haben, wie groupby() funktioniert, können wir weiterhin wissen, wie wir weitere Filter auf die gruppierten Daten anwenden können. Angenommen, wir wollen das Land und andere Informationen über den Schüler herausfiltern, der in Biologie 73 erzielt hat, um mit dem obigen Beispieldatenrahmen fortzufahren.

Wir würden dies mit der Methode apply() direkt nach groupby() herausfiltern.

Beispielcode:

import pandas as pd

data = {
    "Student_Name": ["Anil", "Suharwardy", "Fatina", "John", "Karen"],
    "Country": ["India", "India", "Pakistan", "America", "America"],
    "Biology": [68, 73, 87, 58, 78],
    "Chemistry": [78, 98, 89, 73, 87],
}
data_frame = pd.DataFrame(data=data)
grouped = data_frame.groupby("Country").apply(lambda x: x[x["Biology"] == 73])
print(grouped)

Ausgang:

Pandas filtert Zeilen nach der Methode groupby() - Ausgabe 1

Wir können sogar alle Studentendaten ausdrucken, die zu einem bestimmten Land gehören, indem wir das Land in der apply()-Methode angeben. Dieser Code gibt zwei Zeilen aus unserem Datenrahmen zurück.

Beispielcode:

import pandas as pd

data = {
    "Student_Name": ["Anil", "Suharwardy", "Fatina", "John", "Karen"],
    "Country": ["India", "India", "Pakistan", "America", "America"],
    "Biology": [68, 73, 87, 58, 78],
    "Chemistry": [78, 98, 89, 73, 87],
}
data_frame = pd.DataFrame(data=data)
grouped = data_frame.groupby("Country").apply(lambda x: x[x["Country"] == "America"])
print(grouped)

Ausgang:

Pandas filtert Zeilen nach der Methode groupby() - Ausgabe 2

Zusammenfassend lässt sich sagen, dass das Pandas-Modul mit seinen umfassenden Tools und intelligenten Methoden die Manipulation von Daten ausreichend einfacher und effizienter gemacht hat. Datenrahmen können mit den oben ausführlich beschriebenen Pandas-Methoden groupby() und apply() einfach gruppiert und gefiltert werden.

Es ist jedoch wichtig zu beachten, dass es mehr als eine Möglichkeit gibt, Daten zu filtern und zu sortieren, da Pandas ein sehr umfangreiches Modul ist. Wir können immer das am besten geeignete für unsere einzigartigen Entwicklungsanforderungen auswählen.

Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Verwandter Artikel - Pandas GroupBy