小编laz*_*rog的帖子

如何将嵌套字典列表转换为pandas DataFrame?

我有一些包含嵌套字典的数据,如下所示:

mylist = [{"a": 1, "b": {"c": 2, "d":3}}, {"a": 3, "b": {"c": 4, "d":3}}]
Run Code Online (Sandbox Code Playgroud)

如果我们将其转换为 pandas DataFrame,

import pandas as pd 

result_dataframe = pd.DataFrame(mylist)
print(result_dataframe)
Run Code Online (Sandbox Code Playgroud)

它将输出:

    a   b
  0 1   {'c': 2, 'd': 3}
  1 3   {'c': 4, 'd': 3}
Run Code Online (Sandbox Code Playgroud)

我想转换字典列表并忽略嵌套字典的键。我的代码如下:

new_dataframe = result_dataframe.drop(columns=["b"])
b_dict_list = [document["b"] for document in mylist]
b_df = pd.DataFrame(b_dict_list)
frames = [new_dataframe, b_df]
total_frame = pd.concat(frames, axis=1)
Run Code Online (Sandbox Code Playgroud)

Total_frame 是我想要的:

    a   c   d
0   1   2   3
1   3   4   3
Run Code Online (Sandbox Code Playgroud)

但我认为我的代码有点复杂。有什么简单的方法可以解决这个问题吗?谢谢。

python pandas

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

pandas ×1

python ×1