【发布时间】:2017-08-23 19:44:22
【问题描述】:
这里是 Python 初学者。我正在努力立即将我的list 或dicts 转储到pandas.DataFrame。我的数据具有以下结构。
a = {'Scores': {'s1': [{'Math': '95',
'Science': '74.5',
'English': '60.5'},
{'Math': '87.9',
'Science': '97.3',
'English': '78.3'}],
's2': [{'Math': '67.2',
'Science': '74.2',
'English': '89'}]}}
我的pandas.Dataframe 列应该是科目“数学”、“科学”和“英语”,而行应该是分数。列是动态创建的,因此我不能明确提及要调用它的列名。我所需要的只是键 S1.... Sn.的值。
这是我迄今为止尝试过的:
b = a.pop('Scores')
c = list(b.values())
df = pd.DataFrame(c)
这将我的数据框显示为:
0 \
0 {'Math': '95', 'Science': '74.5', 'English': '...
1 {'Math': '67.2', 'Science': '74.2', 'English':...
1
0 {'Math': '87.9', 'Science': '97.3', 'English':...
1 None
相反,我正在寻找:
Math Science English
95 74.5 60.5
87.9 97.3 78.3
67.2 74.2 89
如果能得到任何帮助,我将不胜感激。
【问题讨论】:
标签: python list pandas dictionary dataframe