如何使用Pandas从嵌套字典创建指定结构的DataFrame?
解决嵌套字典转指定结构DataFrame的问题
没问题,我来帮你搞定这个需求!针对你给出的嵌套字典,有两种实用方法可以得到目标DataFrame,我分别给你演示一下:
方法一:展开嵌套字典(通用灵活)
这种方法适合嵌套结构不固定的场景,先把嵌套的字典合并成一个扁平字典,再转成DataFrame,代码如下:
import pandas as pd dict1 = {'a': 1,'b': 2,'remaining': {'c': 3,'d': 4}} # 合并外层字典和嵌套的'remaining'字典 flat_dict = {**dict1, **dict1.pop('remaining')} # 转换为DataFrame,指定列顺序确保和目标一致 df = pd.DataFrame([flat_dict], columns=list('abcd')) print(df)
运行后输出的结果就是你想要的:
a b c d 0 1 2 3 4
方法二:手动赋值(直观直接)
如果你的字典结构固定不变,也可以直接提取每个键对应的值,手动赋值到DataFrame里:
import pandas as pd dict1 = {'a': 1,'b': 2,'remaining': {'c': 3,'d': 4}} # 先创建空的DataFrame并指定列 df = pd.DataFrame(columns=list('abcd')) # 按位置赋值 df.loc[0] = [dict1['a'], dict1['b'], dict1['remaining']['c'], dict1['remaining']['d']] print(df)
这种方法虽然直观,但如果后续字典结构有变化(比如新增键或者嵌套层级改变),需要修改代码,灵活性不如第一种方法。
内容的提问来源于stack exchange,提问作者Huey
相关产品推荐
相关产品推荐

