如何在pandas中将堆叠的数据帧转换为字典?

2024-03-29 07:04:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我将数据帧堆叠如下。我试图使用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

Tags: to数据命令字典value错误windowdict
1条回答
网友
1楼 · 发布于 2024-03-29 07:04:01

^{}重塑,按^{}index创建列,最后调用^{}

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}]

编辑:通过constructor将列表理解与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}]

相关问题 更多 >