python - 如何根据 pandas 数据框中的值对列中的值进行分类?

标签 python pandas quantile

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

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

例如。如果我有以下值:

[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/

相关文章:

java - 将 Log4net 与 Google App Engine 后端结合使用

python - 当包装器具有相同参数时将 kwarg 传递给包装器函数

PHP 将 0 的内容长度返回给 python 的 urllib

python - pandas 中两个列表的行差异

r - R中分位数的定义

algorithm - 找到给定概率的分位数的时间复杂度

python:如何根据另一列分别对数据框列的唯一元素求和

python - 删除重复行和原始行 - Pandas

R 计算分位数错误或不同?

python - Pandas - 按一列分组,按另一列排序,从第三列获取值