pandas中pd.cut()的功能和作用
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()的功能和作用相关推荐
- pandas中pd.groupby()的用法
在pandas中的groupby和在sql语句中的groupby有异曲同工之妙,不过也难怪,毕竟关系数据库中的存放数据的结构也是一张大表罢了,与dataframe的形式相似. import numpy ...
- Pandas 中的这 3 个函数,没想到竟成了我数据处理的主力
作者 | luanhz 责编 | 张文 来源 | 转载自公众号小数志 学 Pandas 有一年多了,用 Pandas 做数据分析也快一年了,常常在总结梳理一些 Pandas 中好用的方法.例如三个 ...
- Pandas中的这3个函数,没想到竟成了我数据处理的主力
公众号后台回复"图书",了解更多号主新书内容 作者:luanhz 来源:小数志 学Pandas有一年多了,用Pandas做数据分析也快一年了,常常在总结梳理一些Pandas中好用的 ...
- 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 ...
- pandas中强大的绘制图表功能——DataFrame.hist(),以及统计分析函数——DataFrame.describe()
pandas中具有很多很强大的图表绘制功能,今天介绍一个简单好用的绘制数据框DataFrame中某一列数据分布直方图的函数--DataFrame.hist(),顺便介绍一个统计分析函数DataFram ...
- Python:pandas groupby实现类似excel中averageifs函数的功能
从exccel切换到python进行数据处理,处理的主要还是excel的思路,希望实现类似excel中某个函数的功能,日常主要参考蓝鲸的<从excel到python>. 目前在做一些统计指 ...
- pandas中expand的作用
expand表示是否把series类型转化为DataFrame类型 下面代码中的n表示去掉下划线"_"的数量 代码如下: import numpy as np import pan ...
- python如何控制伺服驱动_在控制伺服电机的驱动中,控制器和驱动器各有什么功能和作用?...
展开全部 控制器的功能和作用:62616964757a686964616fe78988e69d8331333431366335 控制电机的转速,在电动车行业还要求控制器有刹车断电.欠压保护.欠压回升值 ...
- 用pandas实现固定区间的数据频数统计(pd.cut,pd.Series)
搜罗了一圈,终于找到了能够实现目的的代码 目标:对一组序列进行频数的统计,画出来就像hist,不过我要的是每个bin和对应的数据而不是图,而生成固定区间,我好进行后面的比值对比 首先具有数据分类功能的 ...
最新文章
- JAVA中文注解驱动,解决api接口返回的json里面出现中文乱码的问题
- 渗透测试中的文件传输技巧
- bat命令 修改ini文件内容_Linux文件内容查看相关命令
- linux useradd 数字,详解linux useradd用户组合权限管理等
- 模式识别与机器学习笔记(二)机器学习的基础理论
- c# 找出目录下的所有子目录_Linux技巧:ls命令只列出子目录名和每行打印一个文件名
- UTF-8 + BOM引起的模板空格问题(PHP使用任何模板引擎貌似都有此问题)
- C语言中返回字符串函数的四种实现方法
- bfs (宽度搜素)
- 【图像处理基础】基于matlab图像RGB+HSV分布图【含Matlab源码 234期】
- 美创科技荣获国家信息安全漏洞库(CNNVD)技术支撑单位
- html修改鼠标手势,css设置鼠标手势的方法
- windows server 2008安装配置DHCP服务器
- 番外9福冈·狂野老司机告诉你如果装AI·1· ——混合现实科幻《地与光》
- 正则表达式之Matcher类中group方法
- android 更新相册,Android 图片存入系统相册更新显示实例详解
- The kernel appears to have died. It will restart automatically
- 深圳小汽车摇号结果采集
- 芬美意2020财年集团收入38.78亿瑞士法郎,增长2.8%
- ggplot去掉背景网格线和更改为白色背景