3
我不确定binning是否是正确的术语,但我想为我正在处理的项目实现以下内容:如何在Python中对数字进行分类和分类?
例如,我有一个数组或描述边界和/或区域的字典,例如:
边界= OrderedDict([(10, '红'),(20, '蓝'),(55, '紫色')])
的区域索引为0到100(例如)。我想将每个区域分成一个颜色(小于字典中的键),然后绘制它。例如,如果它小于10,则为红色。
到目前为止,我有:
boundaries = OrderedDict([(10,'red'),(20,'blue'),(55,'purple')])
areas = range(0,101)
binned = []
for area in areas:
for border in boundaries.keys():
if area < border:
binned.append(boundaries[border])
break
另外,我需要找出一种方法来定义色彩,并找到一个包来绘制。所以,如果你有任何想法,我可以如何绘制一个二维彩色阴谋(实际项目将在二维)。也许matplotlib或PIL?我之前使用过matplotlib,但从未使用这种类型的数据。
另外,是否有一个scipy/numpy函数,已经做了我想要做的?如果代码短而快,那将会很好。这不适用于任何类型的任务(这是我的一个小实验/数据项目),所以我不想在这里重新发明轮子。
在此先感谢您的任何建议/帮助。
这不是你问的问题,而是你使用常规字典定义OrderedDict,所以顺序不一定会保留。相反,使用元组列表来定义它:'OrderedDict([(10,“red”),(20,“blue”),(55,“purple”)])' – kindall 2014-11-25 04:51:55
谢谢并更正。 – 2014-11-25 04:57:06