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

如何将含多值字段的JSON数据正确读取到Pandas DataFrame?

解决Pandas读取JSON时数组字段拆分行的问题

问题场景

读取包含数组字段的JSON(示例:{"day": "Monday", "location": [51.5, -0.2]})时,Pandas误将数组拆分为两行,需要将location的两个值保留在同一行,最终得到类似|1|Monday|51.5,-0.2|的格式。

具体解决方法

  1. 正确读取JSON,避免数组自动拆分
    如果你的JSON是单个对象(或每行一个对象的JSON Lines格式),直接用pd.read_json读取即可,数组会作为单元格的列表值存在,不会拆分行:

    import pandas as pd
    df = pd.read_json('你的JSON文件名.json')
    
  2. 将列表格式转为逗号分隔字符串
    若需要把location列的列表转为51.5,-0.2这样的字符串格式,用apply处理:

    df['location'] = df['location'].apply(lambda x: ','.join(map(str, x)))
    
  3. 已拆分行的合并处理
    如果已经出现拆分后的两行数据,按day分组合并location值:

    # 假设拆分后的DataFrame为df
    df_merged = df.groupby('day')['location'].apply(lambda x: ','.join(map(str, x))).reset_index()
    

最终效果

处理后的DataFrame格式如下:

daylocation
0Monday51.5,-0.2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 12:40:14