我的数据框有多个列,如[姓名,电子邮件,国家/地区,城市,类型,时间,x_completions],如下所示:
我想将此数据框的每一行转换为JSON对象,但将某些列分组为dict并将其称为user_info
,如{ "name": "XYZ", "email": "XYZ@gml.com", "country": "USA", "city": "NYC"}
基本上,我想将每一行转换为以下结构的JSON对象:
{
"type":"Login",
"user_id":"002203293023",
"user_info":{
"name":"XYZ",
"email":"XYZ@gml.com",
"country":"USA",
"city":"NYC"
},
"other_info":{
"x_completed":"4"
},
"time":1562932893
}
我不确定如何在JSON对象中将列组转换为dicts。关于SO的所有其他类似问题涉及某种形式的groupby
操作,我认为我不需要这里。
答案 0 :(得分:3)
使用列表推导来遍历数据框中的每一行。
[{
"type": "Login",
"user_id": row['user_id'],
"user_info":{
"name": row['name'],
"email": row['email'],
"country": row['country'],
"city": row['city']
},
"other_info":{
"x_completed": row['x_completions']
},
"time": row['time']
} for _, row in df.iterrows()]