Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konvertiere ich Pandas GroupBy-Ergebnisse in ein Wörterbuch mit Listen?

Wie konvertiere ich Pandas GroupBy-Ergebnisse in ein Wörterbuch mit Listen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-02 16:26:02231Durchsuche

How to Convert Pandas GroupBy Results into a Dictionary of Lists?

GroupBy-Ergebnisse in ein Wörterbuch mit Listen konvertieren

Um Daten aus einer Excel-Tabelle zu extrahieren und zu gruppieren, wird häufig GroupBy verwendet Funktion der Pandas-Bibliothek. Wenn die gewünschte Ausgabe jedoch ein Wörterbuch ist, in dem Schlüssel Gruppenwerten entsprechen und Werte Listen entsprechender Elemente sind, reicht der herkömmliche Ansatz möglicherweise nicht aus.

Um diese spezifische Anforderung zu erfüllen, besteht eine Lösung darin, „Apply and“ zu verwenden to_dict-Funktionen. Die Apply-Funktion ermöglicht die Anwendung einer Funktion auf jede Gruppe, in diesem Fall die Konvertierung von Spalte3 in eine Liste. Die Funktion to_dict wandelt das Ergebnis dann in ein Wörterbuch um. Der folgende Code demonstriert diesen Ansatz:

<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()</code>

Dieser Code generiert die gewünschte Ausgabe:

{0: [1],
1: [2, 3, 5],
2: [1, 2],
3: [4, 5],
4: [1],
5: [1, 2, 3]}

Alternativ besteht eine kompaktere Lösung darin, ein Wörterbuchverständnis zu verwenden:

<code class="python">result = {k: list(v) for k, v in excel.groupby('Column1')['Column3']}</code>

Dieser Ansatz erzeugt auch den gleichen gewünschten Output und sorgt für eine prägnante und effiziente Implementierung.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich Pandas GroupBy-Ergebnisse in ein Wörterbuch mit Listen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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