如何将Pandas DataFrame转换为含factorValues嵌套字段的指定JSON格式
Pandas DataFrame 转指定嵌套结构JSON 实现方法
要实现目标格式的JSON输出,只需先把指定因子列聚合为嵌套字典字段,再删除原因子列后导出JSON即可,完整实现代码如下:
import pandas as pd # 构造示例DataFrame,可替换为你自己的数据源 df = pd.DataFrame([ ["2010-1", "AAPL", 2, 100, 121, 44, 56] ], columns=["Period", "ticker", "rank", "compositescore", "C20", "C11", "C25"]) # 1. 指定需要收纳到factorValues的因子列 factor_cols = ["C20", "C11", "C25"] # 2. 生成嵌套的factorValues字段 df["factorValues"] = df[factor_cols].to_dict(orient="records") # 3. 删除原始的因子列,保留需要输出的根层级字段 output_df = df.drop(columns=factor_cols) # 4. 导出为符合要求的JSON格式,orient="records"即可生成列表包裹的结构 result_json = output_df.to_json(orient="records", indent=4) # 打印验证结果 print(result_json)
如果需要将结果保存到本地文件,可补充以下代码:
with open("output.json", "w", encoding="utf-8") as f: f.write(result_json)
注意事项
- 若你原数据中的综合得分列名是
compositesore(拼写缺少字母c),可自行调整列名匹配实际数据 - 若后续因子列有新增或删减,只需修改
factor_cols列表的内容即可,无需调整其他逻辑
内容的提问来源于stack exchange,提问作者Kalindu
相关产品推荐
相关产品推荐

