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

如何在Pandas中展开字典格式的字符串列并拆分键值对

展开DataFrame中的JSON字符串列

步骤1:解析JSON字符串为字典

由于目标列是字符串格式的JSON,首先需要将其解析为Python字典:

import json
import pandas as pd

# 假设你的DataFrame名为df
df['parsed_data'] = df['column_name'].apply(json.loads)

步骤2:将字典展开为新列

使用pd.json_normalize工具直接解析字典列,生成包含各键对应值的新列:

expanded_cols = pd.json_normalize(df['parsed_data'])

此时生成的列名会带有.value后缀(比如trials.value),可以按需重命名:

expanded_cols.columns = expanded_cols.columns.str.replace('.value', '')

步骤3:处理列表类型的值

注意到部分value是列表格式(如["8"]),如果需要提取列表中的单个值:

for col in expanded_cols.columns:
    # 判断列中是否存在列表类型的值
    if expanded_cols[col].apply(lambda x: isinstance(x, list)).any():
        expanded_cols[col] = expanded_cols[col].str[0]

步骤4:合并到原DataFrame

将展开后的列与原DataFrame合并(若不需要保留原column_name列可先删除):

final_df = pd.concat([df.drop(['column_name', 'parsed_data'], axis=1), expanded_cols], axis=1)

最终得到的final_df会包含trials、results、trials_nic、custom_cii这几个新列,对应原JSON中的各个键值对。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 17:20:30