Я новичок в python и pandas. Мне нужно объединить несколько столбцов на фрейме данных во вложенный ключ в выводе json. Имена столбцов являются динамическими c, кроме имени столбца.
ввод:
name 384925 504100 296371 487730 296373 487729 296374 489406 296400 486601 384113
0 abc 0.0 0.0 -0.375 0.0 0.375 0.000 0.5 0.00 0.5 0.000 0.5
1 def NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2 xyz 0.0 0.0 -0.375 0.0 0.375 0.000 0.5 0.00 0.5 0.000 0.5
Ожидаемый вывод json
[
{
"name": "abc",
"sizes": [
{ "384925": 0.0 },
{ "504100": 0.0 },
{ "296371": -0.375 },
{ "487730": 0.0 },
{ "296373": 0.375 },
{ "487729": 0.0 },
{ "296374": 0.5 },
{ "489406": 0.0 },
{ "296400": 0.5 },
{ "486601": 0.0 },
{ "384113": 0.5 }
]
},
{
"name": "def",
"sizes": [
{ "384925": null },
{ "504100": null },
{ "296371": null },
...
{ "486601": null },
{ "384113": null }
]
},
{
"name": "xyz",
"sizes": [
{ "384925": 0.0 },
{ "504100": 0.0 },
{ "296371": -0.375 },
...
{ "486601": 0.0 },
{ "384113": 0.5 }
]
},
]
код, который я пытался
df.iloc[:, 2:].apply(lambda x: tuple(x)).to_dict()
json_out = df.to_json(orient='records')