Python如何按索引分组JSON文件中各字段的对应数值?
实现方法
Python没有专门对应这个场景的内置函数,但用基础语法或者第三方数据处理库可以非常快速实现,以下是两种常用方案:
方案1:原生Python实现(无第三方依赖)
如果不想额外安装库,直接遍历索引和字段就能完成转换:
# 假设你已将JSON文件加载为Python字典,变量名为original_data result = {} # 提取所有公共索引(所有字段的索引是一致的,取任意一个字段的key即可) all_indexes = original_data[next(iter(original_data.keys()))].keys() for idx in all_indexes: # 逐个索引聚合所有对应字段的取值 result[idx] = { field: original_data[field][idx] for field in original_data.keys() }
如果你的字段固定很少,也可以手动写字段名,性能会稍微好一点:
result = {} for idx in original_data["PMID"].keys(): result[idx] = { "PMID": original_data["PMID"][idx], "ArticleTitle": original_data["ArticleTitle"][idx], "Authors": original_data["Authors"][idx] }
方案2:用pandas实现(代码更简洁,适合数据处理场景)
如果你已经在使用pandas做数据处理,一行代码就能完成转换:
import pandas as pd result = pd.DataFrame(original_data).to_dict("index")
运行后直接就能得到你需要的按索引聚合的结构。
内容的提问来源于stack exchange,提问作者Giorgia Mancini
相关产品推荐
相关产品推荐

