我想将字典转换为数据框。
dic={'a': [5, 9],
'b': [4, 61],
'c': [24, 9]}
如果您这样做:
df=pd.DataFrame(dic).transpose()
您将拥有:
0 1
a 5 9
b 4 61
c 24 9
但是我想保留字典关键字作为第一列,我该怎么办?
name F0 F1
a 5 9
b 4 61
c 24 9
我认为最简单的是reset_index
:
df=pd.DataFrame(dic, index=['F0','F1']).rename_axis('name', axis=1).transpose().reset_index()
print (df)
name F0 F1
0 a 5 9
1 b 4 61
2 c 24 9
并且:
df=pd.DataFrame.from_dict(dic, orient='index').reset_index()
df.columns = ['name','F0','F1']
print (df)
name F0 F1
0 b 4 61
1 c 24 9
2 a 5 9
另一点技巧-将键中的值添加到中的值dict comprehension
,但reset_index
对于默认的单调索引(0,1,2 ..)也是必需的:
dic = {k:[k]+v for k,v in dic.items()}
print (dic)
{'b': ['b', 4, 61], 'c': ['c', 24, 9], 'a': ['a', 5, 9]}
df=pd.DataFrame(dic, index=['name','F0','F1']).transpose().reset_index(drop=True)
print (df)
name F0 F1
0 a 5 9
1 b 4 61
2 c 24 9
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句