按列表中的顺序对Dict排序(python)

按列表中的顺序对Dict排序(python),python,pandas,dictionary,ordereddictionary,Python,Pandas,Dictionary,Ordereddictionary,我正在尝试将一个dict转换为一个有序的df。dict表示一个散点图,该散点图显示了各个箱中的坐标 假设x,y列表如下所示: x = [10,40,33,44,66,77,33,44,55,2] y = [1,4,53,34,56,47,83,44,25,12] 我将坐标排序到适当的箱子中,输出为: bins =({ 1: [(10, 1), (2, 12)], 2: [(40, 4), (33, 53), (44, 34), (33, 83), (44, 4

我正在尝试将一个
dict
转换为一个有序的
df
dict
表示一个
散点图
,该散点图显示了各个
箱中的坐标

假设
x,y列表如下所示:

x = [10,40,33,44,66,77,33,44,55,2]
y = [1,4,53,34,56,47,83,44,25,12]
我将坐标排序到适当的箱子中,输出为:

bins =({
        1: [(10, 1), (2, 12)], 
        2: [(40, 4), (33, 53), (44, 34), (33, 83), (44, 44)], 
        3: [(66, 56), (55, 25)], 
        4: [(77, 47)]
        })
如果我转换为df:

df = pd.DataFrame.from_dict(bins, orient = 'index')
d = df.transpose()
输出:

         1         2         3         4
0  (10, 1)   (40, 4)  (66, 56)  (77, 47)
1  (2, 12)  (33, 53)  (55, 25)      None
2     None  (44, 34)      None      None
3     None  (33, 83)      None      None
4     None  (44, 44)      None      None
我希望做的是在
列表中按顺序排列
df
,因此我希望输出为:

         1          2        3        4
0   (10, 1)         
1              (40, 4)      
2             (33, 53)          
3             (44, 34)      
4                               (66, 56)
5                               (77, 47)
6             (33, 83)      
7             (44, 44)      
8                      (55, 25) 
9   (2, 12)         
我不确定这是否可以做到。所以我想尝试返回每个索引中每个分散点的箱号:

   Bin
0    1
1    2
2    2
3    2
4    4
5    4
6    2 
7    2
8    3
9    1
我尝试了
收藏。OrderedDict
但我需要按索引而不是按
键进行订购

我不确定是否可以将输入设置为列表列表?

跳过熊猫部分

b=collections.OrderedDict(箱子)#按列表中的顺序度假

collections.OrderedDict不对构造函数中给定的值进行排序。它只是保留了dict的创建顺序

如果您需要重新订购dict并保留其顺序,则需要对箱子进行排序(根据您的要求),然后将其传递给已订购的dict

例如,;如果您想对按键上的
箱子进行排序

b = collections.OrderedDict()
for k in sorted(bins):
    b[k] = bins[k]

Historogram2d?创建和返回垃圾箱?并执行垃圾箱操作我不想让读者感到困惑。
箱子的尺寸不规则。基本上有两个
。传统的网格不适用