用于在Ex中导出的嵌套词典的顺序或列的顺序

2024-06-16 09:33:25 发布

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

我想将嵌套字典中包含的某些数据导出到PD数据框,然后导出到Excel:

counter=0
for m in [3]:
for column, wind_speed in enumerate(wind_speeds):
    for row,ti in enumerate(TIs): 
        if ~np.isnan(Mx_m_3[row,column]): 
            exec("dtb_dict.update({"+str(counter)+":{'case': '12', 
'WindSpeed': wind_speed, 'TI':ti, 
list_of_variables[0]:"+list_of_variables[0]+"[row,column], 
list_of_variables[1]:"+list_of_variables[1]+"[row,column]}})")
            counter+=1


a=pd.DataFrame.from_dict({i: dtb_dict[i]
                       for i in dtb_dict.keys() 
                       for j in dtb_dict[i].keys()},
                   orient='index')


writer = pd.ExcelWriter('output.xlsx', engine='xlsxwriter')

我想有一个数据帧,列顺序为case,wind,speed,ti,list\ u of\ variables[0],list\ u of\ u variables[1]

我得到: 箱、风、速度、变量列表[1]、变量列表[0]、ti

有没有办法指定嵌套字典的顺序或重新排列数据帧

谢谢


Tags: of数据infor字典counterticolumn
1条回答
网友
1楼 · 发布于 2024-06-16 09:33:25

对于pandas数据帧,您可以很容易地做到这一点

假设我们从

a = pd.DataFrame({"case": list(range(10)), "wind,speed": list(range(10)), "list_of_variables[1]": list(range(10)), "list_of_variables[0]":list(range(10)), "ti": list(range(10))})

那么

a = a[["case", "wind,speed", "ti", "list_of_variables[0]", "list_of_variables[1]"]]

将按您的意愿对列进行排序

相关问题 更多 >