标签: python pandas binning
我使用大熊猫,尝试使用排名分数(x)将数据框分类为十分位数,以使每个十分位数都包含基于不同列(y)的总和相等的值。
换句话说,它将填充每个十分位数,直到达到某个值(y // 10的总和),然后转到下一个十分位数。
我尝试使用cut和qcut,但是它仅被x分割,而不被y中的值分割。
答案 0 :(得分:2)
您可以使用cumsum + groupby
cumsum
groupby
d={x: y for x , y df.groupby(df.y.cumsum()//10)} d[0]