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.
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")
group['column'].agg({'func1': np.mean, 'func2': np.std})
Diese Methode kann jedoch nicht für ein DataFrame-Groupby verwendet werden Objekt.
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)
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)
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']
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!