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

如何将存储序列化JSON的pandas Series转换为字典类型Series

报错原因

你逐行通过iloc给Series元素赋值字典时,pandas会默认将传入的字典识别为待对齐的Series结构,尝试匹配不存在的列轴(Series仅支持行轴axis=0,axis=1是DataFrame专属的列轴),最终触发No axis named 1的报错。这类场景不要使用逐行原地赋值的写法。

修复方案

方案1:向量化批量转换(推荐)

直接用apply方法对整列做批量转换,代码最简洁、执行效率最高,不会触发赋值对齐问题:

import json
# 整列批量将JSON字符串转为字典
df['A'] = df['A'].apply(json.loads)

方案2:循环预生成结果后一次性赋值

如果习惯写循环逻辑,不要在循环内逐行修改DataFrame/Series的值,先把所有转换结果存在普通列表里,循环结束后一次性赋值回列:

import json
parsed_result = []
for json_str in df['A']:
    parsed_result.append(json.loads(json_str))
df['A'] = parsed_result

异常兼容处理

如果列中存在格式损坏的非法JSON字符串,可以加一层异常捕获,避免单行解析失败中断整个任务:

import json
def safe_json_parse(s):
    try:
        return json.loads(s)
    except json.JSONDecodeError:
        # 解析失败时可按需返回空字典、None等默认值
        return None
df['A'] = df['A'].apply(safe_json_parse)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 12:15:27