Heim > Backend-Entwicklung > Python-Tutorial > Wie wende ich mehrere Funktionen auf mehrere Groupby-Spalten in Pandas an?

Wie wende ich mehrere Funktionen auf mehrere Groupby-Spalten in Pandas an?

Patricia Arquette
Freigeben: 2024-12-30 05:28:09
Original
365 Leute haben es durchsucht

How to Apply Multiple Functions to Multiple Groupby Columns in Pandas?

Mehrere Funktionen auf mehrere Groupby-Spalten anwenden

Übersicht

Das Anwenden mehrerer Funktionen auf mehrere Spalten in einem Groupby-Vorgang ist eine häufige Aufgabe bei der Datenanalyse. Pandas bietet mehrere Methoden zum Ausführen dieser Aufgabe, einschließlich der Verwendung eines Funktionswörterbuchs oder der Anwendung benutzerdefinierter Funktionen, die mehrere Serien zurückgeben.

Verwendung eines Funktionswörterbuchs

Für ein Series-Groupby-Objekt können Sie anwenden Mehrere Funktionen unter Verwendung eines Wörterbuchs mit den Ausgabespaltennamen als Schlüssel:

group = pd.groupby("column")
Nach dem Login kopieren
group['column'].agg({'func1': np.mean, 'func2': np.std})
Nach dem Login kopieren

Diese Methode kann jedoch nicht für ein DataFrame-Groupby verwendet werden Objekt.

Apply verwenden

Mit der Apply-Methode können Sie eine benutzerdefinierte Funktion anwenden, die mehrere Berechnungen für die Gruppendaten durchführt. Die Funktion sollte eine Reihe mit den Ergebnissen zurückgeben und den Index zum Beschriften der neuen Spalten verwenden.

def func(group_data):
    return pd.Series({
        'func1': group_data['column1'].mean(),
        'func2': group_data['column2'].std(),
    })

group.apply(func)
Nach dem Login kopieren

Verwenden einer benutzerdefinierten Aggregationsfunktion

Sie können auch eine benutzerdefinierte Aggregationsfunktion definieren, die die Vorteile nutzt des an die Apply-Methode übergebenen DataFrame:

def agg_func(group_data):
    return group_data.agg({'column1': np.mean, 'column2': np.std})

group.agg(agg_func)
Nach dem Login kopieren

Umgang mit Abhängigkeiten

Für Funktionen, die abhängig sind Für andere Spalten im Groupby-Objekt können Sie die ix-Methode verwenden, um auf diese Spalten zuzugreifen. Beachten Sie jedoch, dass diese Methode veraltet ist und durch loc ersetzt werden sollte:

def func(group_data):
    return group_data.mean().ix['column1']
Nach dem Login kopieren

Fazit

Das Durchführen komplexer Aggregationen für Pandas-Groupby-Objekte kann je nach Komplexität mit verschiedenen Methoden erreicht werden und Abhängigkeiten der angewendeten Funktionen. Durch die Nutzung der Apply-Methode oder die Erstellung benutzerdefinierter Aggregationsfunktionen können Sie diese Vorgänge effizient ausführen und die Ergebnisse in einem einzigen DataFrame kombinieren.

Das obige ist der detaillierte Inhalt vonWie wende ich mehrere Funktionen auf mehrere Groupby-Spalten in Pandas an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage