考虑以下 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
添加回答
举报
0/150
提交
取消