将Pandas dataFrame组合到带标签的JSON文件中

o8x7eapl  于 2022-11-26  发布在  其他
关注(0)|答案(1)|浏览(118)

我有两个单独的train和validation Dataframe train_df和val_df,它们看起来都像下面这样(列表中的值、int和string是不同的):

F1      F2 F3
[0,0,0] 1  'string1'
[1,2,1] 2  'string2'
...     ... ...

我想将它们保存到一个JSON文件中,格式如下:

{
    "training":[
        {
            "F1": [0,0,0]
            "F2": 1
            "F3": 'string1'
        },
        {
            "F1": [1,2,1]
            "F2": 2
            "F3": 'string2'
        }
    ],
    "validation":[
        {...},
        {...}
    ]
}

其中确认部分被构造为训练部分(F1,F2,F3),但是具有不同的值。
最接近的方法是使用train_df.to_json(orient="records"),它会产生正确的子结构,但是我很难弄清楚如何插入顶级训练或验证标识符。我想到的一个选择是分别保存两个 Dataframe ,然后使用.dumps将它们读入并存储为字符串,然后将文本插入到所需的位置。但这似乎过于复杂了,我相信一定有一种更复杂的方法来实现这一点。

h6my8fg2

h6my8fg21#

这里有一个你可以做到的方法。

final_json={'training':df1.to_dict('records'),'validation':df2.to_dict('records')}
'''
{
    "training": [
        {
            "F1": "[0,0,0]",
            "F2": 1,
            "F3": "'string1'"
        },
        {
            "F1": "[1,2,1]",
            "F2": 2,
            "F3": "'string2'"
        }
    ],
    "validation": [
        {
            "F1": "[0,0,0]",
            "F2": 1,
            "F3": "'string1'"
        },
        {
            "F1": "[1,2,1]",
            "F2": 2,
            "F3": "'string2'"
        }
    ]
}
'''

相关问题