Python的DataFrame如何按照某一列的数值大小划分为10组?

事实上这是个因子选股的程序,每周每只股票都有不同的因子得分,
我想每周按照各只股票的因子得分,将它们划分成10组。

网上提供的用pandas.cut的方法我觉得非常麻烦,还要设置bins。
这个是每周都要进行分组,所以bins都是不一样的。

就想问一下有没有像sas那样的功能能在python里实现:

proc rank data = factor out = factor_1 groups = 10;
    by year; /* 每年一分组*/
    ranks portfolio; /* 组号名为portfolio*/
    var msmvttl; /* 按msmvttl分为10组*/
run;

我想实现的就是这种功能,大神们帮帮忙吧~主要是想速度快点,暴力的解法是想得到的,就是感觉很慢且不简洁……谢谢大佬!

楼主后续解决了吗,我目前也在做因子选股,同样面临这个问题,您有什么建议

突然想到了,好像可以用qcut

https://blog.csdn.net/cxj540947672/article/details/90263958