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

使用pandas加载JSON数据集时特征列异常,无法按county_code分行如何处理?

问题根因

你调用pd.DataFrame.from_dict时指定了orient='index'参数,该参数会把JSON解析得到的字典的顶层键作为行索引,键对应的每个值拆分为不同列,和你预期的「顶层键为列名、每条数据为一行」的结构刚好倒置,所以得到的输出不符合要求。

解决方案

首先确认你的JSON结构属于下列两种常见情况之一,对应修改代码即可:

情况1:JSON顶层键为字段名,每个键对应的值是该字段所有行的取值数组

这是公开数据集最常见的JSON存储结构,直接省略orient参数,用默认规则构造DataFrame即可:

import pandas as pd
import json

file = "/Users/mickelborg/Desktop/Dataset/2018/Carbon_Minoxide_(CO)_2018.json"

with open(file, 'r') as j:
     contents = json.loads(j.read())

# 默认orient='columns'会把字典键作为列名,对应值数组的每一位作为行
oxide = pd.DataFrame(contents)
oxide

情况2:JSON顶层键为数据的唯一标识,每个键对应的值是单条数据的完整字段字典

这种结构需要先把字典的值提取为列表再构造DataFrame:

import pandas as pd
import json

file = "/Users/mickelborg/Desktop/Dataset/2018/Carbon_Minoxide_(CO)_2018.json"

with open(file, 'r') as j:
     contents = json.loads(j.read())

oxide = pd.DataFrame(list(contents.values()))
# 若需要保留原顶层键作为数据列,可额外添加一行
# oxide['data_id'] = contents.keys()
oxide

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:36:02