简体   繁体   中英

ordered dict into another dict

I need to order the dict by the value into another dict as below

dict_filtro = {"Conector 1":{"alasca":30,"USA":10,"Brasil":20},
                "Conector 4":{"alasca":60,"USA":60,"Brasil":10},
                "Conector 3":{"alasca":70,"USA":15,"Brasil":24},
                "Conector 2":{"alasca":10,"USA":19,"Brasil":6}}

dict_ordered  = ordered_dict_by_value(dict_filtro,["alasca"])
print(dict_ordered)

>>{"Conector 2":{"alasca":**10**,"USA":19,"Brasil":6}},
   "Conector 1":{"alasca":**30**,"USA":10,"Brasil":20},
   "Conector 4":{"alasca":**60**,"USA":60,"Brasil":10},
   "Conector 3":{"alasca":**70**,"USA":15,"Brasil":24}}

I already search for many solutions but never fit with my problem.

You can get it done with Pandas:

import pandas as pd

dict_filtro = {"Conector 1":{"alasca":30,"USA":10,"Brasil":20},
            "Conector 4":{"alasca":60,"USA":60,"Brasil":10},
            "Conector 3":{"alasca":70,"USA":15,"Brasil":24},
            "Conector 2":{"alasca":10,"USA":19,"Brasil":6}}

df = pd.DataFrame(dict_filtro)

a = df.transpose()
b = a.sort_values(by='alasca')
c = b.transpose()

data_dict = c.to_dict() 

print(data_dict)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM