So wandeln Sie Datenrahmenzeilen mit Pandas Groupby in gruppierte Listen um
Problem:
Gegeben Bei einem DataFrame mit mehreren Spalten besteht das Ziel darin, Zeilen basierend auf einer bestimmten Spalte (z. B. der ersten Spalte) zu gruppieren und Werte zu sammeln aus einer anderen Spalte (z. B. der zweiten Spalte) in Listen innerhalb jeder Gruppe. Zum Beispiel:
Original DataFrame:
a | b |
---|---|
A | 1 |
A | 2 |
B | 5 |
B | 5 |
B | 4 |
C | 6 |
Gewünschtes Ergebnis:
a | new |
---|---|
A | [1, 2] |
B | [5, 5, 4] |
C | [6] |
Lösung:
Um dies zu erreichen Ergebnis: Die Groupby-Funktion von Pandas kann zusammen mit der Apply()-Methode verwendet werden, um jede Gruppe in eine umzuwandeln Liste.
import pandas as pd # Create a DataFrame df = pd.DataFrame({'a': ['A', 'A', 'B', 'B', 'B', 'C'], 'b': [1, 2, 5, 5, 4, 6]}) # Group by the "a" column and create lists of "b" values grouped_list = df.groupby('a')['b'].apply(list) # Reset the index to obtain a DataFrame df1 = grouped_list.reset_index(name='new')
Erklärung:
Der resultierende DataFrame, df1, enthält die gewünschten gruppierten Listen:
a new 0 A [1, 2] 1 B [5, 5, 4] 2 C [6]
Das obige ist der detaillierte Inhalt vonWie gruppiere ich DataFrame-Zeilen und erstelle Wertelisten mit Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!