Die to_dict()
Methode legt die Spaltennamen als Wörterbuchschlüssel fest, sodass Sie Ihren DataFrame leicht umformen müssen. Das Festlegen der Spalte 'ID' als Index und das anschließende Transponieren des DataFrame ist eine Möglichkeit, dies zu erreichen.
to_dict()
Akzeptiert auch ein 'orient'-Argument, das Sie benötigen, um eine Liste von Werten für jede Spalte auszugeben . Andernfalls {index: value}
wird für jede Spalte ein Wörterbuch des Formulars zurückgegeben.
Diese Schritte können mit der folgenden Zeile ausgeführt werden:
>>> df.set_index('ID').T.to_dict('list')
{'p': [1, 3, 2], 'q': [4, 3, 2], 'r': [4, 0, 9]}
Falls ein anderes Wörterbuchformat benötigt wird, finden Sie hier Beispiele für mögliche Orientierungsargumente. Betrachten Sie den folgenden einfachen DataFrame:
>>> df = pd.DataFrame({'a': ['red', 'yellow', 'blue'], 'b': [0.5, 0.25, 0.125]})
>>> df
a b
0 red 0.500
1 yellow 0.250
2 blue 0.125
Dann sind die Optionen wie folgt.
dict - die Standardeinstellung: Spaltennamen sind Schlüssel, Werte sind Wörterbücher von Index: Datenpaaren
>>> df.to_dict('dict')
{'a': {0: 'red', 1: 'yellow', 2: 'blue'},
'b': {0: 0.5, 1: 0.25, 2: 0.125}}
Liste - Tasten sind Spaltennamen, Werte sind Listen von Spaltendaten
>>> df.to_dict('list')
{'a': ['red', 'yellow', 'blue'],
'b': [0.5, 0.25, 0.125]}
Serien - wie 'Liste', aber Werte sind Serien
>>> df.to_dict('series')
{'a': 0 red
1 yellow
2 blue
Name: a, dtype: object,
'b': 0 0.500
1 0.250
2 0.125
Name: b, dtype: float64}
Teilt - teilt Spalten / Daten / Index als Schlüssel auf, wobei Werte Spaltennamen, Datenwerte nach Zeilen- bzw. Indexbezeichnungen sind
>>> df.to_dict('split')
{'columns': ['a', 'b'],
'data': [['red', 0.5], ['yellow', 0.25], ['blue', 0.125]],
'index': [0, 1, 2]}
Aufzeichnungen - Jede Zeile wird zu einem Wörterbuch, in dem der Schlüssel der Spaltenname und der Wert die Daten in der Zelle sind
>>> df.to_dict('records')
[{'a': 'red', 'b': 0.5},
{'a': 'yellow', 'b': 0.25},
{'a': 'blue', 'b': 0.125}]
indexähnliche 'Datensätze', aber ein Wörterbuch mit Wörterbüchern mit Schlüsseln als Indexbezeichnungen (anstelle einer Liste)
>>> df.to_dict('index')
{0: {'a': 'red', 'b': 0.5},
1: {'a': 'yellow', 'b': 0.25},
2: {'a': 'blue', 'b': 0.125}}
Dataframe.to_dict()
?