<p>我有一个字典列表,每个字典由两个键值元组组成。第一个关键值是一个人的名字,第二个是一个特征向量,由每个人在不同课程中取得的成绩组成。例如:</p>
<pre><code>ListOfGrades=[{'Name':"Mike", 'grades':[98,86,90,72]},{'Name':"Sasha", 'grades':[92,79,85,94]},{'Name':"Beth", 'grades':[89,89,76,90]}]
</code></pre>
<p>我想将这些数据导入到一个<strong>pandas</strong>数据框中,这样每一行都有一个人名的标签,每一列都填充了他们的成绩。简而言之,我需要这样的东西:</p>
^{pr2}$
<p>我知道我应该用pd数据帧(等级列表),但我不知道如何设置它来达到我的目的。我见过<a href="https://stackoverflow.com/questions/20638006/convert-list-of-dictionaries-to-dataframe/">Convert list of dictionaries to Dataframe</a>,但它与我在数据帧中对数据排序的方式不同。
我试过了:</p>
<pre><code>for i in ListOfGrades:
ListOfGrades[i]=str(ListOfGrades[i]['grades'])
# Convert to dataframe
df = pd.DataFrame.from_dict(ListOfGrades, orient='index').reset_index()
</code></pre>
<p>但是,python给了我一个错误:</p>
<pre><code> ListOfGrades[i]=str(ListOfGrades[i]['grades'])
TypeError: list indices must be integers, not dict
</code></pre>
<p>另外,我不知道如何将名字添加到每一行,这样数据框的第一列由人名组成,就像我想要的数据框外观一样(如上所示)。感谢任何帮助!在</p>