Heim >Backend-Entwicklung >Python-Tutorial >Wie gruppiere ich einen DataFrame nach einer Spalte und konvertiere ihn in ein Wörterbuch mit Listen in Python?
GroupBy und Konvertieren von DataFrame in Dictionary of Lists
Bei einer Excel-Datei mit strukturierten Daten besteht das Ziel darin, die Daten zu extrahieren und zu gruppieren nach einer bestimmten Spalte und speichern Sie es in einem Python-Wörterbuch mit Listen als Werten. Das Datenformat in der Excel-Tabelle ist:
Column1 | Column2 | Column3 |
---|---|---|
0 | 23 | 1 |
1 | 5 | 2 |
1 | 2 | 3 |
1 | 19 | 5 |
2 | 56 | 1 |
2 | 22 | 2 |
3 | 2 | 4 |
3 | 14 | 5 |
4 | 59 | 1 |
5 | 44 | 1 |
5 | 1 | 2 |
5 | 87 | 3 |
Lösung 1: groupby.apply().to_dict()
Um die Daten in das gewünschte Wörterbuch zu konvertieren Formatieren möchten, folgen Sie diesen Schritten:
<code class="python">import pandas as pd excel = pd.read_excel(r"e:\test_data.xlsx", sheetname='mySheet', parse_cols='A,C') result = excel.groupby('Column1')['Column3'].apply(list).to_dict() print(result)</code>
Lösung 2: Wörterbuchverständnis
Alternativ können Sie ein Wörterbuchverständnis verwenden, um das gleiche Ergebnis zu erzielen:
<code class="python">result = {k: list(v) for k, v in excel.groupby('Column1')['Column3']} print(result)</code>
Die Ausgabe beider Lösungen lautet:
{0: [1], 1: [2, 3, 5], 2: [1, 2], 3: [4, 5], 4: [1], 5: [1, 2, 3]}
Das obige ist der detaillierte Inhalt vonWie gruppiere ich einen DataFrame nach einer Spalte und konvertiere ihn in ein Wörterbuch mit Listen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!