Heim >Backend-Entwicklung >Python-Tutorial >Wie konvertiert man einen Pandas-DataFrame in ein Wörterbuch mit unterschiedlichen Ausrichtungen?

Wie konvertiert man einen Pandas-DataFrame in ein Wörterbuch mit unterschiedlichen Ausrichtungen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-06 03:57:121060Durchsuche

How to Convert a Pandas DataFrame to a Dictionary with Different Orientations?

Konvertieren eines Pandas-DataFrames in ein Wörterbuch

Um einen Pandas-DataFrame in ein Wörterbuch zu konvertieren, verwenden Sie die Methode to_dict(). Standardmäßig verwendet diese Methode die Spaltennamen des DataFrame als Wörterbuchschlüssel und erstellt ein Wörterbuch mit Index:Datenpaaren für jede Spalte.

df.to_dict()

Anpassen der Wörterbuchausgabe

Um eine Liste von zu erhalten Um Werte für jede Spalte anstelle eines Wörterbuchs mit Index:Daten-Paaren anzugeben, verwenden Sie das Argument orient. Hier sind die verfügbaren Ausrichtungen:

  • dict: Standardausrichtung (Spaltennamen als Schlüssel, Index:Datenpaare als Werte)
  • Liste: Schlüssel sind Spaltennamen, Werte sind Listen von Spaltendaten
  • Serien: Schlüssel sind Spaltennamen, Werte sind Reihenobjekte, die die Daten enthalten.
  • aufgeteilt: Teilt Spalten/Daten/Index in separate Schlüssel auf
  • Datensätze: Jeder Zeile wird zu einem Wörterbuch mit Spaltennamen als Schlüssel und Datenwerten als Werten
  • index: Ähnlich wie 'Datensätze', aber Schlüssel sind Indexbezeichnungen statt einer Liste

Beispiel

Betrachten Sie den folgenden DataFrame:

df = pd.DataFrame({'ID': ['p', 'q', 'r'], 'A': [1, 4, 4], 'B': [3, 3, 0], 'C': [2, 2, 9]})

Um diesen DataFrame in ein Wörterbuch zu konvertieren Verwenden Sie mit „ID“ als Schlüssel und den Werten der anderen Spalten als Listen den folgenden Code:

df.set_index('ID').T.to_dict('list')

Dies gibt Folgendes zurück Wörterbuch:

{'p': [1, 3, 2], 'q': [4, 3, 2], 'r': [4, 0, 9]}

Andere Orientierungen

Hier sind Beispiele für die verschiedenen Orientierungen:

dict:

df.to_dict('dict')

Ausgabe:

{'ID': {'p': 'p', 'q': 'q', 'r': 'r'},
 'A': {0: 1, 1: 4, 2: 4},
 'B': {0: 3, 1: 3, 2: 0},
 'C': {0: 2, 1: 2, 2: 9}}

l ist:

df.to_dict('list')

Ausgabe:

{'ID': ['p', 'q', 'r'], 'A': [1, 4, 4], 'B': [3, 3, 0], 'C': [2, 2, 9]}

Serie:

df.to_dict('series')

Ausgabe :

{'ID': 0    p
 1    q
 2    r
 Name: ID, dtype: object,
 'A': 0    1
 1    4
 2    4
 Name: A, dtype: int64,
 'B': 0    3
 1    3
 2    0
 Name: B, dtype: int64,
 'C': 0    2
 1    2
 2    9
 Name: C, dtype: int64}

aufgeteilt:

df.to_dict('split')

Ausgabe:

{'columns': ['ID', 'A', 'B', 'C'], 'data': [['p', 1, 3, 2], ['q', 4, 3, 2], ['r', 4, 0, 9]], 'index': [0, 1, 2]}

Datensätze :

df.to_dict('records')

Ausgabe:

[{'ID': 'p', 'A': 1, 'B': 3, 'C': 2}, {'ID': 'q', 'A': 4, 'B': 3, 'C': 2}, {'ID': 'r', 'A': 4, 'B': 0, 'C': 9}]

Index:

df.to_dict('index')

Ausgabe:

{0: {'ID': 'p', 'A': 1, 'B': 3, 'C': 2},
 1: {'ID': 'q', 'A': 4, 'B': 3, 'C': 2},
 2: {'ID': 'r', 'A': 4, 'B': 0, 'C': 9}}

Das obige ist der detaillierte Inhalt vonWie konvertiert man einen Pandas-DataFrame in ein Wörterbuch mit unterschiedlichen Ausrichtungen?. 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