You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将含字典的Pandas Series转换为指定结构的DataFrame

将包含字典的Pandas Series转换为结构化DataFrame

最简实现方法

直接使用pd.DataFrame()传入你的Series即可,Pandas会自动识别每个字典的键作为列名,对应的值作为各行数据:

import pandas as pd

# 假设你的Series变量名为sn
df = pd.DataFrame(sn)

如果Series中的元素是字符串形式的字典(而非实际Python字典对象),需要先解析为字典:

import ast
# 先将字符串字典转换为Python字典对象
sn_parsed = sn.apply(ast.literal_eval)
df = pd.DataFrame(sn_parsed)

为什么你之前的方法无效

  1. 你尝试的pd.DataFrame(data=sn_sites['sn'], index=cols)逻辑错误:
    这个写法会把整个Series作为单一列的数据,同时将cols设置为行索引,完全偏离了目标结构。
  2. 循环赋值的问题:
    循环中df['column1'] = value['key1']会每次覆盖整列的值,最终只会保留最后一次循环的value['key1'],无法生成完整的列数据。

另一种等价实现

使用apply(pd.Series)也可以将每个字典元素展开为一行,生成目标DataFrame:

df = sn.apply(pd.Series)

生成后的DataFrame可以直接和其他DataFrame进行列组合操作。


内容的提问来源于stack exchange,提问作者brunofl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 06:54:37