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