【发布时间】:2021-08-19 20:44:15
【问题描述】:
我有一个这样的数据框:
df = pd.DataFrame(data=[['u1', 't1', 1], ['u1', 't2', 1], ['u2', 't1', 0]],
columns=['user', 'track', 'rel'])
我需要生成以下 JSON:
{ 'u1' : {
't1' : 1,
't2' : 1
},
'u2' : {
't1' : 0
}
}
- 列名并不重要
- 结果中不能有数组符号“[”。
我试过了
a = [{ k : [{t : 1} for t in g['track']]} for k, g in df.groupby('user')]
json.dumps(a)
结果几乎是我想要的,但是带有不想要的括号和值没有正确分组:
'[{'u1': [{'t1': 1}, {'t2': 1}, {'t1': 1}]},
{'u2': [{'t1': 1}, {'t2': 1}, {'t1': 1}]}]'
有没有一种有效的方法来做到这一点?
【问题讨论】: