Я пытаюсь преобразовать фрейм данных в формат json (иерархическое дерево).Мне нужно отобразить процент записей по каждой категории всех столбцов.я; е;в DAT - есть 3 категории (CT, OS, Eng) и их дочерние элементы и пользовательские клики на одном из дочерних элементов CT, он увидит 2 категории (OS, Eng) - CT исключается.Если пользователь расширяет ОС и нажимает на одного из дочерних элементов ОС, он видит только Eng (все переменные исчерпаны).Корневой узел будет решаться на основе входных данных.Я дал ввод в качестве значения DAT как C.
Входной фрейм данных:
Выходной JSON:
Я смог написать функцию и вызывать ее рекурсивно, которая будет генерировать выходные данные, как и ожидалось.Но время для подготовки JSON растет с увеличением каждой переменной.Подход, который я выбрал: *
recur_func(df, filter_criteria):
<filter out data from df based on filter_criteria>
<for each of col in df>
<do some calculation>
<for each of vals in col>:
json = <call recur_func(df, filter_criteria)>
С 10 переменными и 5 уникальными значениями в каждой из этих 10 переменных и 200 000 записей вышеупомянутый подход занимает более 15 минут.Кто-нибудь может предложить какой-либо другой подход, который может занять меньше времени, как рекурсивная многопроцессорная / многопоточность?