如何将Pandas训练与验证DataFrame合并为带标签的JSON文件
解决方案
直接通过构造顶层字典+DataFrame内置方法就能实现,这是最简洁的Pythonic写法:
import json import pandas as pd # 基于已有train_df和val_df构造目标结构 dataset = { "training": train_df.to_dict(orient="records"), "validation": val_df.to_dict(orient="records") } # 写入JSON文件(indent=4用于生成格式化的可读性JSON,可按需移除) with open("combined_dataset.json", "w", encoding="utf-8") as f: json.dump(dataset, f, indent=4)
关键说明
to_dict(orient="records")会将DataFrame转换成列表嵌套字典的结构,完全匹配你需要的子数组格式,和你用to_json(orient="records")生成的结构逻辑一致,只是返回Python原生数据结构而非JSON字符串。- 外层用普通Python字典包裹两个数据集的结果,再通过
json.dump直接写入文件,全程无需手动拼接JSON字符串,既简洁又避免格式错误。
如果不想额外导入json模块,也可以用pandas的to_json方法直接处理顶层结构:
import pandas as pd dataset = { "training": train_df.to_dict(orient="records"), "validation": val_df.to_dict(orient="records") } pd.Series(dataset).to_json("combined_dataset.json", indent=4)
不过这种方式本质和第一种逻辑一致,第一种可读性更强。
内容的提问来源于stack exchange,提问作者DS_Testing
相关产品推荐
相关产品推荐

