Я пытаюсь преобразовать фрейм данных во вложенные/иерархические данные, которые будут записаны в виде строк JSON. Данные структурированы следующим образом:
Я пытаюсь найти способ объединить столбцы «метка» и «индикатор» в один словарь (структуру) для каждого «group_id», где «метка» — это ключи, а «индикатор» — элементы. Результат должен выглядеть следующим образом:
Я пытаюсь преобразовать фрейм данных во вложенные/иерархические данные, которые будут записаны в виде строк JSON. Данные структурированы следующим образом: [code]df = pl.DataFrame({ "group_id": ["a", "a", "a", "b", "b", "b"], "label": ["dog", "cat", "mouse", "dog", "cat", "mouse"], "indicator": [1, 1, 0, 0, 0, 1] }) df
┌──────────┬───────┬───────────┐ │ group_id ┆ label ┆ indicator │ │ --- ┆ --- ┆ --- │ │ str ┆ str ┆ i64 │ ╞══════════╪═══════╪═══════════╡ │ a ┆ dog ┆ 1 │ │ a ┆ cat ┆ 1 │ │ a ┆ mouse ┆ 0 │ │ b ┆ dog ┆ 0 │ │ b ┆ cat ┆ 0 │ │ b ┆ mouse ┆ 1 │ └──────────┴───────┴───────────┘ [/code] Я пытаюсь найти способ объединить столбцы «метка» и «индикатор» в один словарь (структуру) для каждого «group_id», где «метка» — это ключи, а «индикатор» — элементы. Результат должен выглядеть следующим образом: [code]target = pl.DataFrame({ "group_id": ["a", "b"], "label": [{"dog": 1, "cat": 1, "mouse": 0}, {"dog": 0, "cat": 0, "mouse": 1}], }) target ┌──────────┬───────────┐ │ group_id ┆ label │ │ --- ┆ --- │ │ str ┆ struct[3] │ ╞══════════╪═══════════╡ │ a ┆ {1,1,0} │ │ b ┆ {0,0,1} │ └──────────┴───────────┘
'{"group_id":"a","label":{"dog":1,"cat":1,"mouse":0}}\n{"group_id":"b","label":{"dog":0,"cat":0,"mouse":1}}\n' [/code] [list] [*]Все группы имеют одинаковые метки, одинаковую длину и т. д. [*]Я специально пытаюсь выяснить, можно ли это сделать с полярами, а не с пандами. [/list]