python - 如何在 Pandas 中将嵌套列表转换为 DataFrame

标签 python pandas dictionary nested nested-lists

我有来自 API 的 json 空气质量数据。输出如下:

data[0]

{'94103': [{'AQI': 34,
   'Category': {'Name': 'Good', 'Number': 1},
   'DateObserved': '2017-10-09 ',
   'HourObserved': 0,
   'Latitude': 37.75,
   'LocalTimeZone': 'PST',
   'Longitude': -122.43,
   'ParameterName': 'OZONE',
   'ReportingArea': 'San Francisco',
   'StateCode': 'CA'},
  {'AQI': 100,
   'Category': {'Name': 'Moderate', 'Number': 2},
   'DateObserved': '2017-10-09 ',
   'HourObserved': 0,
   'Latitude': 37.75,
   'LocalTimeZone': 'PST',
   'Longitude': -122.43,
   'ParameterName': 'PM2.5',
   'ReportingArea': 'San Francisco',
   'StateCode': 'CA'}]}

该列表按邮政编码嵌套,我请求了 400 多条记录。我希望能够生成一个由邮政编码索引的数据帧,并将我的属性(“AQI”、“类别”等)作为列。

在转换为数据框之前我需要创建字典吗?

最佳答案

我相信需要:

df = pd.concat([pd.concat({k: pd.DataFrame(v) for k, v in x.items()}) for x in data])

关于python - 如何在 Pandas 中将嵌套列表转换为 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49853012/

相关文章:

python - 使用 pandas 和 scikit (OneHotEncoder) 虚拟化逻辑回归的分类变量

python - 如果 Python Pandas 中的列包含任何特殊字符,则重复行

Python:将时间舍入到最接近的秒和分钟

python - 迭代product()的元组元素

python - 创建一个包含 pandas 数据框中多列的所有非空值的单列

python - 使用PIL/Pillow对两张两张黑白图像进行OR操作

java - LatinIME 的二进制字典 - 如何构建或在哪里找到?

Python多线程: manager dict not serializable

c# - 在 MVC 中处理多个角色 - 基于 Action 的辅助功能

python - 在 Python Pandas 数据集中每行保留一个随机最低值