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

import numpy as np
import pandas as pd
from pandas import Series, DataFramenp.random.seed(666)score_list = np.random.randint(25, 100, size=20)
print(score_list)
# [27 70 55 87 95 98 55 61 86 76 85 53 39 88 41 71 64 94 38 94]# 指定多个区间
bins = [0, 59, 70, 80, 100]score_cut = pd.cut(score_list, bins)
print(type(score_cut)) # <class 'pandas.core.arrays.categorical.Categorical'>
print(score_cut)
'''
[(0, 59], (59, 70], (0, 59], (80, 100], (80, 100], ..., (70, 80], (59, 70], (80, 100], (0, 59], (80, 100]]
Length: 20
Categories (4, interval[int64]): [(0, 59] < (59, 70] < (70, 80] < (80, 100]]
'''
print(pd.value_counts(score_cut)) # 统计每个区间人数
'''
(80, 100]    8
(0, 59]      7
(59, 70]     3
(70, 80]     2
dtype: int64
'''df = DataFrame()
df['score'] = score_list
df['student'] = [pd.util.testing.rands(3) for i in range(len(score_list))]
print(df)
'''score student
0      27     1ul
1      70     yuK
2      55     WWK
3      87     EU6
4      95     Vqn
5      98     KAf
6      55     QNT
7      61     HaE
8      86     aBo
9      76     MMa
10     85     Ctc
11     53     5BI
12     39     wBp
13     88     WMB
14     41     q5t
15     71     MjZ
16     64     nTc
17     94     Kyx
18     38     Rlh
19     94     2uV
'''# 使用cut方法进行分箱
print(pd.cut(df['score'], bins))
'''
0       (0, 59]
1      (59, 70]
2       (0, 59]
3     (80, 100]
4     (80, 100]
5     (80, 100]
6       (0, 59]
7      (59, 70]
8     (80, 100]
9      (70, 80]
10    (80, 100]
11      (0, 59]
12      (0, 59]
13    (80, 100]
14      (0, 59]
15     (70, 80]
16     (59, 70]
17    (80, 100]
18      (0, 59]
19    (80, 100]
Name: score, dtype: category
Categories (4, interval[int64]): [(0, 59] < (59, 70] < (70, 80] < (80, 100]]
'''df['Categories'] = pd.cut(df['score'], bins)
print(df)
'''score student Categories
0      27     1ul    (0, 59]
1      70     yuK   (59, 70]
2      55     WWK    (0, 59]
3      87     EU6  (80, 100]
4      95     Vqn  (80, 100]
5      98     KAf  (80, 100]
6      55     QNT    (0, 59]
7      61     HaE   (59, 70]
8      86     aBo  (80, 100]
9      76     MMa   (70, 80]
10     85     Ctc  (80, 100]
11     53     5BI    (0, 59]
12     39     wBp    (0, 59]
13     88     WMB  (80, 100]
14     41     q5t    (0, 59]
15     71     MjZ   (70, 80]
16     64     nTc   (59, 70]
17     94     Kyx  (80, 100]
18     38     Rlh    (0, 59]
19     94     2uV  (80, 100]
'''# 但是这样的方法不是很适合阅读,可以使用cut方法中的label参数
# 为每个区间指定一个label
df['Categories'] = pd.cut(df['score'], bins, labels=['low', 'middle', 'good', 'perfect'])
print(df)
'''score student Categories
0      27     1ul        low
1      70     yuK     middle
2      55     WWK        low
3      87     EU6    perfect
4      95     Vqn    perfect
5      98     KAf    perfect
6      55     QNT        low
7      61     HaE     middle
8      86     aBo    perfect
9      76     MMa       good
10     85     Ctc    perfect
11     53     5BI        low
12     39     wBp        low
13     88     WMB    perfect
14     41     q5t        low
15     71     MjZ       good
16     64     nTc     middle
17     94     Kyx    perfect
18     38     Rlh        low
19     94     2uV    perfect
'''

pandas中pd.cut()的功能和作用相关推荐

  1. pandas中pd.groupby()的用法

    在pandas中的groupby和在sql语句中的groupby有异曲同工之妙,不过也难怪,毕竟关系数据库中的存放数据的结构也是一张大表罢了,与dataframe的形式相似. import numpy ...

  2. Pandas 中的这 3 个函数,没想到竟成了我数据处理的主力

    作者 | luanhz   责编 | 张文 来源 | 转载自公众号小数志 学 Pandas 有一年多了,用 Pandas 做数据分析也快一年了,常常在总结梳理一些 Pandas 中好用的方法.例如三个 ...

  3. Pandas中的这3个函数,没想到竟成了我数据处理的主力

    公众号后台回复"图书",了解更多号主新书内容 作者:luanhz 来源:小数志 学Pandas有一年多了,用Pandas做数据分析也快一年了,常常在总结梳理一些Pandas中好用的 ...

  4. Pandas中兼并数组和字典功能的Series 2013-03-24 11:24:00 分类: Python/Ruby In [2]: # 这段代码用于并排显示多个Series对象 from it

    Pandas中兼并数组和字典功能的Series 2013-03-24 11:24:00 分类: Python/Ruby In [2]: # 这段代码用于并排显示多个Series对象 from iter ...

  5. pandas中强大的绘制图表功能——DataFrame.hist(),以及统计分析函数——DataFrame.describe()

    pandas中具有很多很强大的图表绘制功能,今天介绍一个简单好用的绘制数据框DataFrame中某一列数据分布直方图的函数--DataFrame.hist(),顺便介绍一个统计分析函数DataFram ...

  6. Python:pandas groupby实现类似excel中averageifs函数的功能

    从exccel切换到python进行数据处理,处理的主要还是excel的思路,希望实现类似excel中某个函数的功能,日常主要参考蓝鲸的<从excel到python>. 目前在做一些统计指 ...

  7. pandas中expand的作用

    expand表示是否把series类型转化为DataFrame类型 下面代码中的n表示去掉下划线"_"的数量 代码如下: import numpy as np import pan ...

  8. python如何控制伺服驱动_在控制伺服电机的驱动中,控制器和驱动器各有什么功能和作用?...

    展开全部 控制器的功能和作用:62616964757a686964616fe78988e69d8331333431366335 控制电机的转速,在电动车行业还要求控制器有刹车断电.欠压保护.欠压回升值 ...

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

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

最新文章

  1. JAVA中文注解驱动,解决api接口返回的json里面出现中文乱码的问题
  2. 渗透测试中的文件传输技巧
  3. bat命令 修改ini文件内容_Linux文件内容查看相关命令
  4. linux useradd 数字,详解linux useradd用户组合权限管理等
  5. 模式识别与机器学习笔记(二)机器学习的基础理论
  6. c# 找出目录下的所有子目录_Linux技巧:ls命令只列出子目录名和每行打印一个文件名
  7. UTF-8 + BOM引起的模板空格问题(PHP使用任何模板引擎貌似都有此问题)
  8. C语言中返回字符串函数的四种实现方法
  9. bfs (宽度搜素)
  10. 【图像处理基础】基于matlab图像RGB+HSV分布图【含Matlab源码 234期】
  11. 美创科技荣获国家信息安全漏洞库(CNNVD)技术支撑单位
  12. html修改鼠标手势,css设置鼠标手势的方法
  13. windows server 2008安装配置DHCP服务器
  14. 番外9福冈·狂野老司机告诉你如果装AI·1· ——混合现实科幻《地与光》
  15. 正则表达式之Matcher类中group方法
  16. android 更新相册,Android 图片存入系统相册更新显示实例详解
  17. The kernel appears to have died. It will restart automatically
  18. 深圳小汽车摇号结果采集
  19. 芬美意2020财年集团收入38.78亿瑞士法郎,增长2.8%
  20. ggplot去掉背景网格线和更改为白色背景

热门文章

  1. HCIP之MPLS中的VPN
  2. RSA加密算法Python实现
  3. 吧友热议是什么,百度贴吧热议做指定关键词教程
  4. TDSQL新增子set报错,DB资源异常告警解决实战
  5. python爬取前程无忧职位信息
  6. 链脉电子名片,帮助企业更快收集客户数据
  7. 2020 远景智能笔试 成绩排序 第二题 Python3
  8. Linux查看系统资源占用
  9. 股票买入卖出问题 leetcode123(最多k次交易)
  10. Linux nm查看库中包含那些函数