我的字典是这样的:
{'x': {'b': 10, 'c': 20}, 'y': {'b': '33', 'c': 44}}
我想得到这样的数据帧:
^{pr2}$我试着打电话熊猫。来自甩迪克特(),但没有给我想要的结果。 那么,实现这一目标最优雅、最实用的方法是什么?在
编辑:事实上,我的字典的深度是4,所以我想看看这种情况下的解决方案,或者理想情况下,一个在一般设置中适用于任意深度的解决方案。在
下面是一个更深层次词典的示例:
{'x':{'a':{'m':1, 'n':2}, 'b':{'m':10, 'n':20}}, 'y':{'a':{'m':100, 'n':200}, 'b':{'m':111, 'n':222}} }
适当的数据帧应该有8行。在
回答:
df = pd.DataFrame([(k1, k2, k3, k4, k5, v) for k1, k2345v in dict.items()
for k2, k345v in k2345v.items()
for k3, k45v in k345v.items()
for k4, k5v in k45v.items()
for k5, v in k5v.items()])
首先使用}以获得所需的形状,然后需要重命名列,排序并重置索引:
from_dict
创建df,然后调用stack
和{可以使用列表理解将dict重新排序为一个元组列表,其中每个元组都是一行,然后可以对数据帧进行排序
相关问题 更多 >
编程相关推荐