Как преобразовать сложенный фрейм данных в словарь в пандах? - PullRequest
0 голосов
/ 10 октября 2018

Я сложил фрейм данных, как показано ниже.Я попытался преобразовать в словарь, используя команду to_dict().Однако я получил следующую ошибку.

TypeError: key ('PODIUM WINDOW', 'SHGC value') is not a string  

Может кто-нибудь сказать мне, что мне делать дальше для того, чтобы этот накопленный фрейм данных преобразовался в словарь, как показано ниже?

[{"Construction":"Office Window","U-value[W/m2-K]":1.63},{"Construction":"Office Window","SHGC value":0.22},{"Construction":"Podium Window","U-value[W/m2-K]":5.48},{"Construction":"Podium Window","SHGC value":0.70}]

стек данных

Construction
OFFICE WINDOW  U-value[W/m2-K]    1.63
               SHGC value         0.22
PODIUM WINDOW  U-value[W/m2-K]    5.48
               SHGC value         0.70

1 Ответ

0 голосов
/ 10 октября 2018

Изменить на unstack, создать столбец из index на reset_index и последний вызов DataFrame.to_dict:

d = df.unstack().reset_index().to_dict(orient='records')
print (d)

[{'Construction': 'OFFICE WINDOW', 'SHGC value': 0.22, 'U-value[W/m2-K]': 1.63}, 
 {'Construction': 'PODIUM WINDOW', 'SHGC value': 0.7, 'U-value[W/m2-K]': 5.48}]

РЕДАКТИРОВАТЬ: Использовать понимание списка с dictionary по конструктору:

d = [{'Construction': i, j:k} for (i, j), k in df.items()]
print (d)

[{'Construction': 'OFFICE WINDOW', 'U-value[W/m2-K]': 1.63}, 
 {'Construction': 'OFFICE WINDOW', 'SHGC value': 0.22}, 
 {'Construction': 'PODIUM WINDOW', 'U-value[W/m2-K]': 5.48}, 
 {'Construction': 'PODIUM WINDOW', 'SHGC value': 0.7}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...