#python #pandas #dictionary #nested
Вопрос:
У меня есть следующий вложенный словарь:
dict1 = {'a': 1,'b': 2,'remaining': {'c': 3,'d': 4}}
Я хочу создать фрейм данных с использованием панд, чтобы достичь следующего
df = pd.DataFrame(columns=list('abcd'))
df.loc[0] = [1,2,3,4]
Ответ №1:
Вы можете вставить 'remaining'
диктант для обновления dict1
, а затем преобразовать значения в векторы (например, в списки).
nested = dict1.pop('remaining')
dict1.update(nested)
pd.DataFrame({k: [v] for k, v in dict1.items()})
a b c d
0 1 2 3 4
Ответ №2:
Вы можете использовать pandas.json_normalize
:
dict1 = {'a': 1,'b': 2,'remaining': {'c': 3,'d': 4}}
df = pd.json_normalize(dict1)
df.columns = list('abcd')
Результат:
a b c d
0 1 2 3 4