У меня есть pandas фрейм данных, который содержит информацию о пользователе с несколькими заказами, и в каждом заказе есть несколько покупок товаров. Пример формата данных:
user_id | order_num | item_id | item_desc
1 1 1 red
1 1 2 blue
1 1 3 green
Я хочу преобразовать его в объект JSONb в столбце, чтобы можно было запросить его в postgresql. В настоящее время я использую следующий код:
j = (reg_test.groupby(['user_id', 'order_num'], as_index=False)
.apply(lambda x: x[['item_id','item_desc']].to_dict('r'))
.reset_index()
.rename(columns={0:'New-Data'})
.to_json(orient='records'))
Вот результат, который я получаю:
'''
[
{
"New-Data": [
{
"item_id": "1",
"item_desc": "red",
},
{
"item_id": "2",
"item_desc": "blue",
},
{
"item_id": "3",
"item_desc": "green",
}
],
"order_number": "1",
"user_id": "1"
}
]
'''
Хотя это правильный формат json, я хочу, чтобы результат был похож это:
'''
[
{
"New-Data": [{
"1":
{
"item_id": "1",
"item_desc": "red",
},
"2": {
"item_id": "2",
"item_desc": "blue",
},
"3":
{
"item_id": "3",
"item_desc": "green",
}
}
],
"order_number": "1",
"user_id": "1"
}
]
'''