使用嵌套字典

时间:2016-11-02 16:17:37

标签: python json pandas dictionary nested

我从JSON格式的API中检索数据,并希望从中创建一个pandas数据框。我要分析的内容是字典列表,其中字典不一定具有相同的键,其中一些也包括嵌套字典。

现在我已经取得了一个非常接近我想要的结果,但是我得到了一个我想要克服的警告(实际上有几个使用原始数据):

...\pandas\indexes\api.py:37: RuntimeWarning: unorderable types: int() < str(), sort order is undefined for incomparable objects union = _union_indexes(indexes)

我在Windows 10上使用Python 3.4.2,这个MWE应该说明我的问题:

import pandas as pd
import json

content = [{"Id": "A1", "SomeInfo": 0, "description": "Lorem Ipsum, lorem ipsum."},
       {"Id": "B2", "SomeInfo": 2, "otherInfo": 0, "nestedInfo": {"inf1": 3, "inf2": 3}},
       {"Id": "C3", "SomeInfo": 2, "nestedInfo": {"inf1": 3, "inf3": 2}}]

content = pd.DataFrame(content)

df = pd.concat([content.drop(['nestedInfo'], axis=1), content['nestedInfo'].apply(pd.Series)], axis=1)

我想要的结果应该最好是这样的:

   Id  SomeInfo                description  otherInfo   inf1  inf2  inf3
0  A1         0  Lorem Ipsum, lorem ipsum.        NaN   NaN   NaN   NaN
1  B2         2                        NaN        0     3     3     NaN
2  C3         2                        NaN        NaN   3     NaN   2

对于如何改进上述内容或提出更好解决方案的建议,我们将不胜感激。

0 个答案:

没有答案