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) 
  • Bedingte Berechnung auf Pandas Dataframe
  • Verwenden Sie eine Liste von Werten, um Zeilen aus einem Pandas-Dataframe auszuwählen [doppelte]
  • Wie baue und fülle pandas dataframe von for loop?
  • Ersetzen Sie Daten von einem pandas dataframe zu einem anderen
  • Streifen / trimmen alle Werte eines Dataframs
  • Pandas groupby und beitreten listen
  • Wie zählt man die Anzahl der Elemente in einem Satz von Zeilen, die auf einer Bedingung ausgewählt werden?
  • Python teilt einen pandas datenrahmen nach woche oder monat und gruppiert die auf diesen sp
  • Wie man ein 2 1d Arrays zu einem 1d Arrays umwandelt, aber beide Werte sollten innerhalb eines Elements sein
  • Wie kann ich durch eine Pandas-Gruppe iterieren und überprüfen, ob ein String in jeder Gruppe ist?
  • Pandas - erhalten Werte aus Multindex-Spalten
  • Python ist die beste Programmiersprache der Welt.