来自带有嵌套词典的dic pandas

时间:2017-10-03 14:25:52

标签: python python-3.x pandas dictionary

我有这样的字典:

./xml.exe ed -N ns=http://www.w3.org/2006/04/ttaf1 -d //ns:div[not($xml:lang -contains'Italian')] "C:\Users\1H144708H\Downloads\a.mul.ttml" > "C:\Users\1H144708H\Downloads\a.mul.ttml.conv"

我希望有一个这样的数据框:

{12: {'Soccer': {'value': 31, 'year': 2013}},
 23: {'Volley': {'value': 24, 'year': 2012},'Yoga': {'value': 3, 'year': 2014}},
39: {'Baseball': {'value': 2, 'year': 2014},'basket': {'value': 4, 'year': 2012}}}

将每个嵌套字典设置在唯一列中,并使用外部字典的键给出的行。当我使用' from_dict'如果orient参数等于index,它会认为嵌套字典中的键是列的标签,它使得方形数据帧而不是单个列... 非常感谢

2 个答案:

答案 0 :(得分:4)

使用:

df = pd.DataFrame({'column':d})

或者:

df = pd.Series(d).to_frame('column')
print (df)
                                               column
12            {'Soccer': {'year': 2013, 'value': 31}}
23  {'Volley': {'year': 2012, 'value': 24}, 'Yoga'...
39  {'Baseball': {'year': 2014, 'value': 2}, 'bask...

答案 1 :(得分:4)

In [65]: pd.DataFrame(d.values(), index=d.keys(), columns=['column'])
Out[65]:
                                               column
12  ({'Soccer': {'value': 31, 'year': 2013}}, {'Vo...
23  ({'Soccer': {'value': 31, 'year': 2013}}, {'Vo...
39  ({'Soccer': {'value': 31, 'year': 2013}}, {'Vo...