我有一个数据框,其中有一列包含实际值。
我想要一个额外的列,根据继承人的大小对这些值进行分类。例如,我想知道一个值是否属于一组最大值中的最小值组。我希望这两个组具有相同数量的元素。
例如。如果我有以下值:
[1,2,3,4,40,50]
我想将 1,2 和 3 映射到 1 和 4、40 和 50 到 2。有没有一种简单的方法可以在数据框中完成此操作。
在上面的例子中我只使用了两个组。但我想保持灵 active 。例如,对于三个组,我想将 1 和 2 映射到 1,将 3 和 4 映射到 2,将 40 和 50 映射到 3。
最佳答案
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)
这应该为您提供“大”堆中列表的一半,并对小堆执行相同的操作。
关于python - 如何根据 pandas 数据框中的值对列中的值进行分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19400820/