python 将连续变量分组

我需要将一个连续变量按一定条件分成4组,分别给不同的标记;
我自己是这样写的,想问下老师有没有什么简便写法?谢谢!
m5['score_level1']=0
m5.loc[(m5['totaltimes']>np.percentile(m5['totaltimes'],90)) ,'score_level1']=1
m5.loc[(m5['totaltimes']>np.percentile(m5['totaltimes'],60)) &
       (m5['totaltimes']<=np.percentile(m5['totaltimes'],90)) ,'score_level1']=2
m5.loc[(m5['totaltimes']>np.percentile(m5['totaltimes'],30)) &
       (m5['totaltimess']<=np.percentile(m5['totaltimes'],60)) ,'score_level1']=3
m5.loc[(m5['totaltimes']<=np.percentile(m5['totaltimes'],30)) ,'score_level1']=4



 

Robin_TY - PhD@CSU,研究方向:计算机视觉,模式识别

赞同来自: 吴刚 fish

可以使用pandas中的cut()函数实现:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.cut.html  

要回复问题请先登录注册