gpt4 book ai didi

python - 将 pandas 数据框转换为 json,以列为键

转载 作者:太空宇宙 更新时间:2023-11-03 21:11:57 25 4
gpt4 key购买 nike

我有一个像这样的数据框:

df:
Col1 col2 col3 col4
A 1 2 3
A 4 5 6
A 7 8 9
B 3 2 1
B 4 4 4

我想为每个 col1 值创建一个嵌套的 json 文件,里面有 col2、col3、col4 作为键和这些列的值,

输出应如下所示:

{
"col1": A,
"Other_details": {
"col2": 1,
"col3": 2,
"col4": 3
},{
"col2": 4,
"col3": 5,
"col4": 6
},{
"col2": 7,
"col3": 8,
"col4": 9
},
},
{
"col1": B,
"Other_details": {
"col2": 3,
"col3": 2,
"col4": 1
},{
"col2": 4,
"col3": 4,
"col4": 4
}
}

如何以最有效的方式做到这一点

最佳答案

使用DataFrame.groupbyDataFrame.applyDataFrame.to_dict没有按 Index.difference 过滤的 Col1 的所有列,通过DataFrame.reset_index创建DataFrame最后一次使用DataFrame.to_dict用于字典输出或 DataFrame.to_json对于 json 输出:

cols = df.columns.difference(['Col1'])
d = (df.groupby('Col1')[cols]
.apply(lambda x: x.to_dict('r'))
.reset_index(name='Other_details')
.to_dict(orient='records'))
<小时/>
cols = df.columns.difference(['Col1'])
d = (df.groupby('Col1')[cols]
.apply(lambda x: x.to_dict('r'))
.reset_index(name='Other_details')
.to_json(orient='records'))

关于python - 将 pandas 数据框转换为 json,以列为键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55004985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com