python pd.qcut,pd.cut和pd.qcut

  python pd.qcut,pd.cut和pd.qcut

  本文主要介绍python中pd.cut()和pd.qcut()的对比和例子。文章通过示例代码非常详细,对大家的学习或者工作都有一定的参考价值。有需要的朋友下面和边肖一起学习。

  

目录

1、pd.cut()2、pd.qcut()3、pd.cut() v.s. pd.qcut()

 

  

1、pd.cut()

 

  用于根据值本身对数据值进行分段,并将其分类到箱中。

  参数包括:x,bin,right,include _ lowest,labels,retbins,precision

  x:分割后的数组

  箱:划分的间隔/间隔数

  -当bins为整数时,表示数组X被分成多少个等间距的区间;-当bins为序列时,表示数组X将被划分为指定的序列,否则输出NaN;# x=[1,2,3,5,3,4,1],箱数=3

  [In ] pd.cut(np.array([1,2,3,5,3,4,1])

  [Out] [(0.996,2.333),(0.996,2.333),(2.333,3.667),(3.667,5.0),(2.333,3.667),(3.667,5.0),(0.996,2.333]]

  类别(3,区间[float64]): [(0.996,2.333] (2.333,3.667)(3.667,5.0])

  # x=[1,2,3,5,3,4,1],箱=[1,2,3]

  [In ] pd.cut(np.array([1,2,3,5,3,4,1]),[1,2,3])

  [Out][南,(1.0,2.0),(2.0,3.0),南,(2.0,3.0),南,南]

  Categories (2,interval[int64]): [(1,2)(2,3]]

  右:是否包含右终点;默认值为True;

  Include_lowest:是否包含左端点,为False默认情况下;

  # x=[1,2,3,5,3,4,1],bin=[1,2,3],默认值不包括左端点1,默认值包括右端点3。

  [In ] pd.cut(np.array([1,2,3,5,3,4,1]),[1,2,3])

  [Out][南,(1.0,2.0),(2.0,3.0),南,(2.0,3.0),南,南]

  Categories (2,interval[int64]): [(1,2)(2,3]]

  # x=[1,2,3,5,3,4,1],bin=[1,2,3],设置包含左端点1,设置包含右端点3。

  [In ] pd.cut(np.array([1,2,3,5,3,4,1]),[1,2,3],include_lowest=True,right=False)

  [Out] [[1.0,2.0],[2.0,3.0],楠,楠,楠,楠,[1.0,2.0]

  类别(2,interval[int64]): [[1,2][2,3)]

  标签:是否用标签替换返回的垃圾箱,默认值为False。如果需要标签,标签的数量要和箱柜的数量一致,要给标签分配一套列表;

  # x=[1,2,3,5,3,4,1],bins=3,设置用指定标签[A , B , C]返回的序列

  [In ] pd.cut(np.array([1,2,3,5,3,4,1]),3,labels=[A , B , C])

  [Out] [A,A,B,C,B,C,A]

  类别(3,对象):

  Retbins:是否返回间隔bins默认值为False,只返回x中每个值对应的bin列表;如果retbins=True,则返回容器列表和相应的容器。

  # x=[1,2,3,5,3,4,1],bins=3,对应的bin序列将与设置一起返回。

  [In ] pd.cut(np.array([1,2,3,5,3,4,1]),3,retbins=True)

  [Out] ([(0.996,2.333),(0.996,2.333),(2.333,3.667),(3.667,5.0),(2.333,3.667),(3.667,5.0),(0.996,2.333])

  类别(3,区间[float64]): [(0.996,2.333] (2.333,3.667)(3.667,5.0]],

  数组([0.996,2.33333333,3.6666667,5。]))

  Precision: precision,为区间边界值保留的小数位数。

  # x=[1,2,3,5,3,4,1],bins=3,精度为2。

  [In ] pd.cut(np.array([1,2,3,5,3,4,1]),3,精度=2)

  [Out] [(1.0,2.33),(1.0,2.33),(2.33,3.67),(3.67,5.0),(2.33,3.67),(3.67,5.0),(1.0,2.33]]

  类别(3,区间[float64]): [(1.0,2.33)(2.33,3.67)(3.67,5.0])

  

2、pd.qcut()

 

  基于分位数的离散化函数。根据秩或样本分位数(或样本值落在区间中的频率),变量被分成大小相等的桶。

  参数包括:x、q、标签、重箱、精度、副本

  x、labels、retbins、precision与pd.cut()中参数的用法一致;Q:将序列X分成Q个区间,使落在每个区间内的值个数一致;重复:重复值处理;默认值是duplicates= raise ,这意味着重复值不会被忽略。若要忽略x中的重复值,请指定duplicates= drop 。

  

3、pd.cut() v.s. pd.qcut()

 

  Pd.cut()将指定序列X划分为指定数量的相等区间(均匀分布的bin是根据值本身而不是这些值的频率来选择的),或者pd.qcut()将指定序列X划分为Q个区间,使得落在每个区间内的记录数是一致的[in] ll=[1,2,3,5,3,4,1。

  Print( - pd.cut()示例1-)

  print(pd.cut(ll,4,precision=2)。value_counts())

  Print( - pd.cut()示例2-)

  print(pd.cut(ll,[1,2,4],precision=2)。value_counts())

  Print( - pd.qcut()示例-)

  print(pd.qcut(ll,4,precision=2)。value_counts())

  [out]-PD.cut()示例1-

  (1.0, 2.0] 4

  (2.0, 3.0] 2

  (3.0, 4.0] 1

  (4.0, 5.0] 1

  dtype: int64

  - pd.cut()示例2-

  (1, 2] 2

  (2, 4] 3

  dtype: int64

  -PD . q cut()的示例-

  (0.99, 1.75] 2

  (1.75, 2.5] 2

  (2.5, 3.25] 2

  (3.25, 5.0] 2

  dtype: int64

  关于python中pd.cut()和pd.qcut()的对比和例子的文章到此为止。有关python pd.cut()和pd.qcut()的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: