Предположим, что у меня есть вложенный словарь 'user_dict' со структурой:
Уровень 1: UserId (длинное целое число)
Уровень 2: Категория (строка)
Уровень 3: Ассортированные атрибуты (float, ints и т.д.)
Например, запись этого словаря будет следующей:
user_dict[12] = {
"Category 1": {"att_1": 1,
"att_2": "whatever"},
"Category 2": {"att_1": 23,
"att_2": "another"}}
каждый элемент в "user_dict" имеет ту же структуру, а "user_dict" содержит большое количество элементов, которые я хочу передать в pandas DataFrame, создавая серию из атрибутов. В этом случае для этой цели был бы полезен иерархический индекс.
В частности, мой вопрос заключается в том, существует ли способ помочь конструктору DataFrame понять, что серия должна быть построена из значений "уровня 3" в словаре?
Если я попробую что-то вроде:
df = pandas.DataFrame(users_summary)
Элементы в "уровне 1" (идентификаторы пользователя) берутся в виде столбцов, что противоположно тому, что я хочу достичь (иметь идентификатор пользователя как индекс).
Я знаю, что смогу построить серию после итерации над словарными записями, но если есть более прямой способ, это будет очень полезно. Аналогичным вопросом будет вопрос, можно ли построить pandas DataFrame из объектов json, перечисленных в файле.