【发布时间】:2018-11-27 23:56:17
【问题描述】:
我正在尝试将 dict 转换为有序的 df。 dict 代表一个scatter plot,它以各种bins 显示坐标。
假设x,y lists如下:
x = [10,40,33,44,66,77,33,44,55,2]
y = [1,4,53,34,56,47,83,44,25,12]
我将坐标分类到适当的 bin 中,输出为:
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
我希望做的是在list 中按顺序订购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 编号:
Bin
0 1
1 2
2 2
3 2
4 4
5 4
6 2
7 2
8 3
9 1
我试过collections.OrderedDict,但我需要按索引而不是keys。
我不确定是否可以将输入设为列表列表?
【问题讨论】:
-
Numpy.histogram2d?
-
创建和归还垃圾箱?
-
然后进行分箱
-
我不想让读者感到困惑。
bins是不规则尺寸。基本上是两个arcs。传统网格不适用
标签: python pandas dictionary ordereddictionary