Pandas: so kombinieren sie zeilen mit denselben spaltenwerten
Sie können die folgende grundlegende Syntax verwenden, um Zeilen mit denselben Spaltenwerten in einem Pandas-DataFrame zu kombinieren:
#define how to aggregate various fields agg_functions = {' field1 ': ' first ', ' field2 ': ' sum ', ' field ': ' sum '} #create new DataFrame by combining rows with same id values df_new = df. groupby (df[' id ']). aggregate (agg_functions)
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Kombinieren Sie Zeilen mit gleichen Spaltenwerten in Pandas
Angenommen, wir haben den folgenden Pandas-DataFrame, der Informationen über Verkäufe und Retouren verschiedener Mitarbeiter eines Unternehmens enthält:
import pandas as pd #create dataFrame df = pd. DataFrame ({' id ': [101, 101, 102, 103, 103, 103], ' employee ': ['Dan', 'Dan', 'Rick', 'Ken', 'Ken', 'Ken'], ' sales ': [4, 1, 3, 2, 5, 3], ' returns ': [1, 2, 2, 1, 3, 2]}) #view DataFrame print (df) id employee sales returns 0 101 Dan 4 1 1 101 Dan 1 2 2 102 Rick 3 2 3 103 Ken 2 1 4 103 Ken 5 3 5 103 Ken 3 2
Wir können die folgende Syntax verwenden, um Zeilen zu kombinieren, die denselben Wert in der ID- Spalte haben, und dann die verbleibenden Spalten zu aggregieren:
#define how to aggregate various fields agg_functions = {' employee ': ' first ', ' sales ': ' sum ', ' returns ': ' sum '} #create new DataFrame by combining rows with same id values df_new = df. groupby (df[' id ']). aggregate (agg_functions) #view new DataFrame print (df_new) employee sales returns id 101 Dan 5 3 102 Rick 3 2 103 Ken 10 6
Der neue DataFrame kombinierte alle Zeilen des vorherigen DataFrame, die denselben Wert in der ID- Spalte hatten, und berechnete dann die Summe der Werte in den Verkaufs- und Rückgabespalten .
Hinweis : Eine vollständige Liste der Aggregationen, die für die Verwendung mit der GroupBy()- Funktion verfügbar sind, finden Sie in der Pandas-Dokumentation .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:
Pandas: So finden Sie den Unterschied zwischen zwei Spalten
Pandas: So finden Sie den Unterschied zwischen zwei Linien
Pandas: So sortieren Sie Spalten nach Namen