Рассмотрим следующий словарь словарей в python3.x
dict1 = {4: {4:25, 5:39, 3:42}, 5:{24:94, 252:49, 25:4, 55:923}}
Я бы хотел развернуть это в панде DataFrame.Похоже, есть две опции:
df1 = pd.DataFrame.from_dict(dict1, orient='columns')
print(df1)
4 5
3 42.0 NaN
4 25.0 NaN
5 39.0 NaN
24 NaN 94.0
25 NaN 4.0
55 NaN 923.0
252 NaN 49.0
, при этом столбцы для этого являются главными словарными ключами 4
и `5 ', индексы строк - это вспомогательные ключи, а значения - вспомогательные значения.
Другой вариант -
df2 = pd.DataFrame.from_dict(dict1, orient='index')
print(df2)
4 5 3 24 252 25 55
4 25.0 39.0 42.0 NaN NaN NaN NaN
5 NaN NaN NaN 94.0 49.0 4.0 923.0
, в котором столбцы являются ключами внутреннего «под-словаря», индексы строк - это ключи основного словаря, а значения - подкатегориямиключи.
Существует ли стандартный подход, который позволяет нам развернуть словарь python следующим образом?
key inner_key values
4 3 42
4 4 25
4 5 39
5 24 94
5 25 4
5 55 923
5 252 49
Было бы лучше не манипулировать DataFrame после использования from_dict()
, как для гораздо большегоСловари Python, это может стать довольно интенсивным в памяти.