Python: словарь в другом словаре - PullRequest
0 голосов
/ 06 декабря 2018

У меня проблема со словарями в python.

У меня есть датафрейм с ок.700 рядов.Каждая строка представляет собой словарь (пара ключ-значение), где значение также является словарем.Проблема заключается в преобразовании ячеек Dataframe в dict, а также в значения в виде строки.Теперь я хочу снова привести эти значения обратно в словари, не пропуская ключ.

Пример: преобразование {'Key1':'{1:value1, 2:value2, 3:value3, 4:value4}'} в {'Key1': {'1':'value1','2':'value2','3':'value3','4':'value4'}}

Спасибо за вашу помощь:)

PS: я хотел бы заранее извиниться за орфографические и грамматические ошибки

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Вывод

[{'b':'{1: N, 2: ((49, 1), (52, 1), (2726440, 1000000)), 3: E, 4: ((8, 1), (38, 1), 
(17371673, 1000000)), 6: (22480, 100), 7: ((16, 1), (0, 1), (9, 1)), 29: 
2018:11:29}','b':'{1: e, 2: ((80, 5), (5, 3), (2726440, 1000546)), 3: N, 4: ((3, 1), 
(38, 1), (17371673, 1000000)), 6: (22980, 100), 7: ((16, 1), (0, 1), (9, 1)), 29: 
2018:11:29}','b': ..... }]

Код

data = data.rename(columns={'a','b'}) 
data_dict = data.to_dict('records')

Deskription

Итак, я получил это до сих пор: данные - это фрейм данных с 1 столбцом со словарями (700 строк);я переименовал столбец в «b», потому что он должен быть ключом для всех словарей в словаре;теперь у меня есть список из 700 словарей с формой вывода

0 голосов
/ 06 декабря 2018

Вам нужно добавить больше деталей.В основном то, что вы описываете, должно работать.

a = {'Key1':{1:'1.1', 2:'2.2', 3:'3.3', 4:'4.4'}}
df = pd.DataFrame(a)
print(df)
print(df.to_dict())

Вывод:

  Key1
1  1.1
2  2.2
3  3.3
4  4.4
{'Key1': {1: '1.1', 2: '2.2', 3: '3.3', 4: '4.4'}}

Это структура данных, которую вы рассматриваете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...