2013-10-16 256 views
1

我有一個數據框,其中包含一個包含實際值的列。如何根據數據值對熊貓數據框中的列進行分類?

我想有一個額外的列,根據繼承人的大小分類這些值。例如,我想知道一個值是否屬於一組最大值中最小值的組。我希望這兩個團體擁有相同數量的元素。

例如。如果我有下列值:

[1,2,3,4,40,50] 

我想映射1,2和3比1和4,40,和50至2有一種簡單的方法來做到這在數據幀。

在上面的例子中,我只使用了兩組。但我想保持靈活性。例如,對於三組我要地圖1和2比1,3和4 2,40和50至3

回答

2
import heapq 
import random 
x = range(100000) 
random.shuffle(x) 
print(heapq.nlargest(2, x)) 

給出:[99999,99998]

現在只需做一些像:

max_column = heapq.nlargest(len(x)/2, x) 

這應該給你一個「大」的列表的一半,併爲小堆做同樣的事情。

+0

我試圖用熊貓數據幀要做到這一點: 'heapq.nlargest(LEN(DF [ '高程'])/ 2,DF [ '高程'])',但得到這個錯誤: 'C: (n,iterable,key) 453 if key is None: 454 it = zip(iterable,count(0,-1))#decorate - > 455 result = _nlargest (n,it) 456 return [r [0] for r in result]#undecorate TypeError:預期的整數參數,得到浮點數' – multigoodverse

+0

@AS從來沒有與熊貓一起工作的原因很多,所以我是這裏沒有幫助,對不起。我建議你開一個新的問題,讓別人看看它:)祝你好運。 – Torxed

相關問題