cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False)需要将数据值分段并排序到bins中时使用cut。 此函数对于从连续变量转换为离散变量也很有用。 例如,cut可以将年龄转换为年龄范围组。 支持bins到相同数量的箱柜或预先指定的bins阵列。
x: 进行划分的一维数组
bins :
1,整数---将x划分为多少个等间距的区间
In[1]:pd.cut(np.array([0.2,1.4,2.5,6.2,9.7,2.1]),3,retbins=True)Out[1]: ([(0.19, 3.367], (0.19, 3.367], (0.19, 3.367], (3.367,6.533],
(6.533,9.7], (0.19, 3.367]] Categories (3, interval[float64]):
[(0.19,3.367] < (3.367, 6.533] < (6.533, 9.7]],array([ 0.1905    , 3.36666667,  6.53333333,  9.7 ]))
​
print(pd.cut(np.array([0.2,1.4,2.5,6.2,9.7,2.1]),3,retbins=False))
# [(0.19, 3.367], (0.19, 3.367], (0.19, 3.367], (3.367, 6.533], (6.533, 9.7],(0.19, 3.367]]Categories (3, interval[float64]):[(0.19, 3.367] < (3.367, 6.533] < (6.533, 9.7]]
​
2,序列—将x划分在指定的序列中,若不在该序列中,则是NaN
In[2]:pd.cut(np.array([0.2,1.4,2.5,6.2,9.7,2.1]),[1,2,3],retbins=True)Out[2]: ([NaN, (1, 2], (2, 3], NaN, NaN, (2, 3]]Categories(2, interval[int64]): [(1, 2] < (2, 3]], array([1, 2, 3]))
right : 是否包含右端点
labels : 是否用标记来代替返回的bins
In[3]:pd.cut([1,2,3,4],4,labels=['one','two','three','four'])Out[3]: [one, two, three, four]
Categories (4, object): [one <two < three < four] 
retbins: 是否返回间距bins
precision: 精度
include_lowest:是否包含左端点返回值:如果retbins = False 则返回x中每个值对应的bin的列表,否者则返回x中每个值对应的bin的列表和对应的bins
qcut(x, q, labels=None, retbins=False, precision=3, duplicates='raise')基于分位数的离散化功能。 根据等级或基于样本分位数将变量分离为相等大小的桶。 例如,10个分位数的1000个值将产生一个分类对象,表示每个数据点的分位数成员资格。
两者的区别:
rng=np.random.RandomState(42)
factors = rng.randn(30)
print(factors)
print('='*30)
print(pd.cut(factors, 5).value_counts())
print('='*30)
print(pd.qcut(factors, 5).value_counts())
# (-1.917, -1.215]     4
# (-1.215, -0.516]     6
# (-0.516, 0.182]     10
# (0.182, 0.881]       7
# (0.881, 1.579]       3
# dtype: int64
# ==============================
# (-1.914, -0.929]     6
# (-0.929, -0.464]     6
# (-0.464, -0.0559]    6
# (-0.0559, 0.506]     6
# (0.506, 1.579]       6
# dtype: int64

首先是观察上面的数据, 先分析qcut()函数:qcut(factors, 5),当你用qcut求五分之一时,将选择这些规则选择bins:使你在每个bins里有相同数量的记录。 你有30个记录,所以每个bin应该有6个(你的输出应该是这样的,尽管断点会因随机抽取而不同).这样就是结果中每个分组里面均有6个数存在的原因。 cut()函数:因为cut()会根据值本身而不是这些值的频率选择均匀分布的bins(在本例中直接将bins分成5份)。 因此,因为随机生成一个正态分布数据,你会看到靠近均值bins中的频率更高,外部更少。 这基本上是一个直方图的表格形式。 从上面的分析即可得出qcut()和cut()的区别。

pd.cut()与pd.qcut()的区别相关推荐

  1. 用pandas实现固定区间的数据频数统计(pd.cut,pd.Series)

    搜罗了一圈,终于找到了能够实现目的的代码 目标:对一组序列进行频数的统计,画出来就像hist,不过我要的是每个bin和对应的数据而不是图,而生成固定区间,我好进行后面的比值对比 首先具有数据分类功能的 ...

  2. 数据合并中pd.merge()和pd.concat()区别

    https://mp.weixin.qq.com/s?src=11&timestamp=1619685662&ver=3037&signature=3fZ7EE4fw8Ddfe ...

  3. pandas中pd.cut()的功能和作用

    pd.cut()的作用,有点类似给成绩设定优良中差,比如:0-59分为差,60-70分为中,71-80分为优秀等等,在pandas中,也提供了这样一个方法来处理这些事儿.直接上代码: import n ...

  4. cut与qcut的区别

    cut与qcut的区别 GPF 大数据分析师 1 人赞同了该文章 python 在处理数据的时候调用的方法有cut,qcut,那这两种方法有什么不同呢? 两者功能相似,都是将一个Series切割成若干 ...

  5. 天池csv转成grt代码里的luna的csv,pandas库来操作csv文件(pd.DataFrame,pd.concat,pd.Series,to_csv等)实现

    ps之前已经稍微处理过相关的csv文件,但是没有记录,发现基本忘光了看来记录还是一件非常重要的事情.碰巧DSB2017grt团队的代码里用的csv比较奇葩,我就把天池的数据的csv改成他们使用的模样. ...

  6. 使用 PD Recover 恢复 PD 集群

    PD Recover 是对 PD 进行灾难性恢复的工具,用于恢复无法正常启动或服务的 PD 集群.该工具的详细介绍参见 TiDB 文档 - PD Recover.本文档介绍如何下载 PD Recove ...

  7. Python数据处理中 pd.concat 与 pd.merge 区别

    背景 数据的合并与关联是数据处理过程中经常遇到的问题,在SQL.HQL中大家可能都有用到 join.uion all 等 ,在 Pandas 中也有同样的功能,来满足数据处理需求,个人感觉Pandas ...

  8. Python量化交易|pd.expanding() VS pd.rolling() 时间窗口函数区别图解

    pandas.rolling()前文已经介绍过了,虫洞 pandas.expanding() 官方文档 pd.DataFrame.expanding(min_periods=1, center=Fal ...

  9. pd电源测试-PD电源自动测试系统ATECLOUD-Power

    PD电源测试是一种重要的电源测试方法,采用该方法可以更加全面.详细地评估各种电子产品和设备的性能和安全性.本文将阐述PD电源测试的基本原理.测试对象以及测试的应用价值. 首先,PD电源测试的基本原理是 ...

最新文章

  1. TCP/UDP对比总结
  2. 深度|​揭秘5G+AI时代的机器人世界!七大核心技术改变人类生活!
  3. Jquery 添听checkbox 是否选中
  4. win10+Tensorflow2 + cuda +RTX 3080 +cudnn 安装
  5. 计算机视觉——利用openCV与Socket结合进行远程摄像头实时视频传输并保存图片数据
  6. boost::gil::is_homogeneous用法的测试程序
  7. 升学在线如何从容应对流量高峰?
  8. [LintCode] Reverse Integer
  9. C 简单瞎搞题(牛客练习赛22)(bitset优化dp)
  10. Linux时间函数札记
  11. Android GMS 包。 GOOGLE play
  12. 一个非常好用的批量图片压缩工具
  13. android apk 微信登入_微信第三方登录(Android 实现)
  14. UEBA架构设计之路1
  15. IP地址和MAC 地址
  16. 【实战】PyTorch 在 CIFAR-10 数据集上的训练及测试过程
  17. 谷歌学术的搜索原理_谷歌搜索引擎产品的工作原理研究
  18. Biu~送你 20 个提供远程工作的网站,都很棒
  19. 单击选定单元格后输入新内容_Excel综合练习题
  20. 5e怎么绑定一键跳投_企业邮箱如何绑定微信?微信怎么添加邮箱?

热门文章

  1. C++ 中malloc函数详解(转载)
  2. 申请HTTPS需要哪些条件?如何申请?
  3. c51单片机c语言程序,C51单片机的C语言程序设计.ppt
  4. java 面试 接到邀请后你可以做哪些准备
  5. 本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql” Task06学习笔记
  6. 中国高频变频器及压缩机类负载应用市场发展态势及十si五战略规划建议报告2021-2027年
  7. #react#找不到模块“react/jsx-runtime”或其相应的类型声明。ts(2307)
  8. a标签download下载
  9. 谷歌Android无障碍套件,安卓无障碍套件下载-Android无障碍套件最新版下载v8.2.0.324286243_游戏369...
  10. 如何获取googletest测试套件