首页 > 解决方案 > 将 Pandas DataFrame 转换为特定的嵌套 JSON

问题描述

我想将我的数据框转换为嵌套的 JSON,以便我可以使用它来构建我的移动应用程序。我需要让它嵌套。0级将是品牌。级别 1 将是模型。第 2 级将是一年。3级将是其余的。我有 6700 行和 43 列。我的数据框看起来像这样。怎么做?

在此处输入图像描述

标签: pythonjsonpandas

解决方案


您可以使用嵌套的 dict 理解手动完成:

data = {brand: {model: {year: df.loc[(df['brand']==brand)&(df['model']==model)
                                 &(df['year']==year)].drop(
                                     columns=['brand', 'model', 'year']
                                     ).to_dict(orient='list') for year in
                        df.loc[(df['brand']==brand)&(df['model']==model), 'year']
                        .unique()} for model in df.loc[(df['brand']==brand),
                                                   'model']
                .unique()} for brand in df['brand'].unique()}

jsonstring = json.dumps(data)

推荐阅读