为了账号安全,请及时绑定邮箱和手机立即绑定

如何将字典的字典展开成大字典的 Pandas DataFrame?

如何将字典的字典展开成大字典的 Pandas DataFrame?

炎炎设计 2021-08-24 19:01:21
考虑以下 python3.x 中的字典字典dict1 = {4: {4:25, 5:39, 3:42}, 5:{24:94, 252:49, 25:4, 55:923}}我想把它展开成一个熊猫数据帧。似乎有两种选择:df1 = pd.DataFrame.from_dict(dict1, orient='columns')print(df1)        4      53    42.0    NaN4    25.0    NaN5    39.0    NaN24    NaN   94.025    NaN    4.055    NaN  923.0252   NaN   49.0其中列是主字典键4和“5”,行索引是子字典键,值是子字典值。另一种选择是df2 = pd.DataFrame.from_dict(dict1, orient='index')print(df2)    4     5     3     24    252  25     55 4  25.0  39.0  42.0   NaN   NaN  NaN    NaN5   NaN   NaN   NaN  94.0  49.0  4.0  923.0其中列是内部“子字典”的键,行索引是主字典的键,值是子字典的键。是否有一种标准方法可以让我们按如下方式展开 python 字典?key inner_key values4        3      42 4        4      254        5      395        24     945        25     45        55     9235        252    49最好不要在使用后操作 DataFrame from_dict(),因为对于更大的 Python 字典,这可能会占用大量内存。
查看完整描述

2 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

pd.DataFrame([[i,j,user_dict[i][j] ] for i in user_dict.keys() for j in user_dict[i].keys()],columns=['key', 'inner_key', 'values'])

输出:


   key  inner_key   values

0   4   4           25

1   4   5           39

2   4   3           42

3   5   24          94

4   5   252         49

5   5   25          4

6   5   55         923


查看完整回答
反对 回复 2021-08-24
  • 2 回答
  • 0 关注
  • 261 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信