将数组的Python dict转换为数据帧
我有一个数组字典,如下所示:将数组的Python dict转换为数据帧,python,python-3.x,pandas,dictionary,dataframe,Python,Python 3.x,Pandas,Dictionary,Dataframe,我有一个数组字典,如下所示: d = {'a': [1,2], 'b': [3,4], 'c': [5,6]} pd.DataFrame(list(d.values()), index=list(d.keys())).reset_index() 我想创建一个熊猫数据帧,如下所示: 0 1 2 0 a 1 2 1 b 3 4 2 c 5 6 我编写了以下代码: pd.DataFrame(list(d.
d = {'a': [1,2], 'b': [3,4], 'c': [5,6]}
pd.DataFrame(list(d.values()), index=list(d.keys())).reset_index()
我想创建一个熊猫数据帧,如下所示:
0 1 2
0 a 1 2
1 b 3 4
2 c 5 6
我编写了以下代码:
pd.DataFrame(list(d.items()))
返回:
0 1
0 a [1,2]
1 b [3,4]
2 c [5,6]
你知道我怎样才能实现我的目标吗
先谢谢你 在理解中使用
splat
操作符生成数据帧:
pd.DataFrame([k, *v] for k, v in d.items())
0 1 2
0 a 1 2
1 b 3 4
2 c 5 6
如果您不介意将索引
作为列名之一,只需转置并重置索引
:
pd.DataFrame(d).T.reset_index()
index 0 1
0 a 1 2
1 b 3 4
2 c 5 6
最后,尽管它相当难看,但我能在非常大的字典上找到的最有效的选项如下:
d = {'a': [1,2], 'b': [3,4], 'c': [5,6]}
pd.DataFrame(list(d.values()), index=list(d.keys())).reset_index()
Pandas允许您以直截了当的方式执行此操作:
pd.DataFrame.from_dict(d,orient = 'index')
>> 0 1
a 1 2
b 3 4
c 5 6
pd.DataFrame.from_dict(d,orient='index').reset_index()
提供您要查找的内容。的可能副本