Предположим, у меня есть вложенный словарь user_dict со структурой:
- Уровень 1: идентификатор пользователя (длинное целое число)
- Уровень 2: категория (строка)
- Уровень 3: различные атрибуты (числа с плавающей запятой, целые числа и т. д.)
Например, запись этого словаря будет:
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 понять, что серия должна быть построена из значений «уровня 3» в словаре?
Если я попробую что-то вроде:
df = pandas.DataFrame(users_summary)
Элементы на «уровне 1» (UserId) принимаются как столбцы, что противоположно тому, чего я хочу достичь (иметь UserId в качестве индекса).
Я знаю, что мог бы построить серию после повторения записей словаря, но если есть более прямой способ, это было бы очень полезно. Аналогичный вопрос будет заключаться в том, можно ли создать pandas DataFrame из объектов json, перечисленных в файле.