我想将JSON数据存储在Python Pandas DataFrame中
我的JSON数据是像这样的字典的字典
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" } } }
我这样做是为了将数据放入DataFrame
import pandas as pd df=pd.DataFrame(d)
我明白了
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
我的问题是我的DataFrame包含字典而不是值。
我想知道如何使用Pandas DataFrame管理多维数据(超过2个维度…这里有3个维度)。
DataFrame中的每个字典都有相同的键。
df = pd.Panel.from_dict(d).to_frame()
输出:
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
如果您不想使用面板:
pd.concat(map(pd.DataFrame, d.itervalues()), keys=d.keys()).stack().unstack(0)