一、功能:
两者功能相似,都是将一个Series切割成若干个分组
api 可以看官网详细介绍,大致如下:
pandas.qcut
(x, q, labels=None, retbins=False, precision=3, duplicates='raise')
pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise')
其中最常用的有个三个参数, x -代表数据集,这里一般是Series
q -为一个整数或数组,代表切割成几组或者具体的切割方式
labels -代表切割后的分组名称
返回值是一个 Categorical 类型,是一个可迭代对象,其中即包含了一个series,即 x中每个元素的分组标记。还包含了整体的分组情况。
二、区别
qcut 是等频切割,即基本保证每个组里的元素个数是相等的
cut是按值切割,即根据数据值的大小范围等分成n组,落入这个范围的分别进入到该组。
三、例题
ages = np.array([1,5,10,40,36,12,58,62,77,89,100,18,20,25,30,32])
cc = pd.qcut(a