2013-10-16 210 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

相关问题