1

我有一个数据框,其中有一列包含实际值。

我想有一个额外的列,根据继承人的大小对这些值进行分类。例如,我想知道一个值是否属于一组最大值中的最小值组。我希望这两个组具有相同数量的元素。

例如。如果我有以下值:

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

我想将 1,2 和 3 映射到 1 和 4、40 和 50 到 2。有没有一种简单的方法可以在数据框中执行此操作。

在上面的例子中,我只使用了两个组。但我想保持灵活。例如,对于三个组,我想将 1 和 2 映射到 1,将 3 和 4 映射到 2,将 40 和 50 映射到 3。

4

1 回答 1

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)

这应该给你一半的列表在一个“大”堆中,对小堆做同样的事情。

于 2013-10-16T10:23:31.617 回答