问题描述
我需要按值将字典排序为如下所示的另一个字典
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**,"Brasil":6}},"Conector 1":{"alasca":**30**,"Conector 4":{"alasca":**60**,"Conector 3":{"alasca":**70**,"Brasil":24}}
我已经在寻找许多解决方案,但从未适合我的问题。
解决方法
您可以使用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)