Dict of dicts von dicts zu DataFrame

Ich möchte JSON-Daten in einem Python Pandas DataFrame speichern

Meine JSON-Daten sind ein Dict von Dicts von Dicts wie diese

d = { "col1": { "row1": { "data1": "0.87", "data2": "Title col1", "data3": "14.4878", "data4": "Title row1" }, "row2": { "data1": "15352.3", "data2": "Title col1", "data3": "14.9561", "data4": "Title row2" }, "row3": { "data1": "0", "data2": "Title col1", "data3": "16.8293", "data4": "Title row3" } }, "col2": { "row1": { "data1": "0.87", "data2": "Title col2", "data3": "24.4878", "data4": "Title row1" }, "row2": { "data1": "15352.3", "data2": "Title col2", "data3": "24.9561", "data4": "Title row2" }, "row3": { "data1": "0", "data2": "Title col2", "data3": "26.8293", "data4": "Title row3" } } } 

Ich habe das getan, um meine Daten in ein DataFrame zu stellen

 import pandas as pd df=pd.DataFrame(d) 

Ich bekomme das

 In [1]: df Out[1]: col1 col2 row1 {'data4': 'Title col1', 'data1': '0.87', 'data3': {'data4': 'Title col1', 'data1': '0.87', 'data3': row2 {'data4': 'Title col2', 'data1': '15352.3', 'data {'data4': 'Title col2', 'data1': '15352.3', 'data row3 {'data4': 'Title col3', 'data1': '0', 'data3': '1 {'data4': 'Title col3', 'data1': '0', 'data3': '2 

Mein Problem ist, dass mein DataFrame Dicts statt Werte enthält.

Ich frage mich, wie ich multidimensionale Daten (mehr als 2 Dimensionen … 3 Dimensionen hier) mit einem Pandas DataFrame verwalten kann.

Jeder Dict in DataFrame hat die gleichen Tasten.

One Solution collect form web for “Dict of dicts von dicts zu DataFrame”

 df = pd.Panel.from_dict(d).to_frame() 

Ausgabe:

  col1 col2 major minor data1 row1 0.87 0.87 row2 15352.3 15352.3 row3 0 0 data2 row1 Title col1 Title col2 row2 Title col1 Title col2 row3 Title col1 Title col2 data3 row1 14.4878 24.4878 row2 14.9561 24.9561 row3 16.8293 26.8293 data4 row1 Title row1 Title row1 row2 Title row2 Title row2 row3 Title row3 Title row3 

Wenn Sie nicht möchten, verwenden Sie Panel:

 pd.concat(map(pd.DataFrame, d.itervalues()), keys=d.keys()).stack().unstack(0) 
  • Schwierigkeiten mit mehreren "groupby" mit einer Variablen und einer Kategorie (Binned Daten)
  • Unterlegen von Datenrahmen in mehrere Datenrahmen in Pandas
  • Benutzerdefiniertes Json-Format von Pandas DataFrame
  • Pandas: Schreiben in eine vorhandene Excel-Datei (xlsx) mit to_excel
  • Besserer Weg, um Nan-Reihen in Pandas zu fallen
  • Lesen Sie eine tabulatorgetrennte Datei mit der ersten Spalte als Schlüssel und den Rest als Werte
  • Pandas ValueError: numpy.dtype hat die falsche Größe, versucht neu zu komprimieren
  • Erstellen einer element-minimalen Serie von zwei anderen Serien in Python-Pandas
  • Wie komme ich um die Zeitspalte zu der nächsten Viertelstunde
  • Seaborn Barplot - Werte anzeigen
  • Pandas TimeSeries diff () kehrt zur Serie zurück
  • Python ist die beste Programmiersprache der Welt.