我有一个如下列表,需要将其隐藏为一个熊猫数据框。
mylist = [[2000, 0.5, 0.3, 0.8, 0.9, 0.8], [2001, 0.5, 0.6, 0.8, 0.9, 0.9], [2002, 0.5, 0.3, 0.8, 0.8, 0.8], [2003, 0.9, 0.9, 0.9, 0.9, 0.8]]
columns = ['year', 'score_1', 'score_2', 'score_3', 'score_4', 'score_5']
我希望数据框如下。
year score_1 score_2 score_3 score_4 score_5
0 2000 0.5 0.3 0.8 0.9 0.8
1 2001 0.5 0.6 0.8 0.9 0.9
2 2002 0.5 0.3 0.8 0.8 0.8
3 2003 0.9 0.9 0.9 0.9 0.8
当前,我正在关注以下代码。但是它需要将我原来的“我的清单”数据重新组织为“年份”和“得分”。
pd.DataFrame(data=[scores],index=[year],columns=columns)
因此,我想知道在熊猫中是否有任何简便的方法。
很高兴在需要时提供更多详细信息。
答案 0 :(得分:2)
如果仅需要通过alert(data.empid);
的列:
mylist
但是如果需要按年索引,请使用带有DataFrame.from_dict
的字典理解:
df = pd.DataFrame(mylist,columns=columns)
print (df)
year score_1 score_2 score_3 score_4 score_5
0 2000 0.5 0.3 0.8 0.9 0.8
1 2001 0.5 0.6 0.8 0.9 0.9
2 2002 0.5 0.3 0.8 0.8 0.8
3 2003 0.9 0.9 0.9 0.9 0.8
如果需要设置索引名称,请添加DataFrame.rename_axis
:
df = pd.DataFrame.from_dict({x[0]: x[1:] for x in mylist},columns=columns[1:], orient='index')
print (df)
score_1 score_2 score_3 score_4 score_5
2000 0.5 0.3 0.8 0.9 0.8
2001 0.5 0.6 0.8 0.9 0.9
2002 0.5 0.3 0.8 0.8 0.8
2003 0.9 0.9 0.9 0.9 0.8