关于pandas的离散化,面元划分详解


Posted in Python onNovember 22, 2019

pd.cut

pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False)

x:要分箱的输入数组,必须是一维的

bins:int或标量序列

若bins是一个int,它定义在x范围内的等宽单元的数量。然而,在这种情况下,x的范围在每一侧延伸0.1%以包括x的最小值或最大值

若bins是一个序列,它定义了允许非均匀bin宽度的bin边缘。在这种情况下不进行x的范围的扩展

right:bool,可选:决定区间的开闭,如果right == True(默认),则区间[1,2,3,4]指示(1,2],(2,3],(3,4]

labels:array或boolean,默认值为无:用作生成的区间的标签。必须与生成的区间的长度相同。如果为False,则只返回bin的整数指示符

retbins:bool,可选:是否返回bin。如果bin作为标量给出,则可能有用

precision:int:存储和显示容器标签的精度,默认保留三位小数

include_lowest:bool:第一个间隔是否应该包含左边

import numpy as np
import pandas as pd
# 使用pandas的cut函数划分年龄组
ages = [20,22,25,27,21,23,37,31,61,45,32]
bins = [18,25,35,60,100]
cats = pd.cut(ages,bins)
print(cats) # 分类时,当数据不在区间中将变为nan
# 统计落在各个区间的值数量
print(pd.value_counts(cats))
# 使用codes为年龄数据进行标号
print(cats.codes)
# 设置自己想要的面元名称
group_names = ['Youth','YoungAdult','MiddleAged','Senior']
print(pd.cut(ages, bins, labels=group_names))
# 设置区间数学符号为左闭右开
print(pd.cut(ages, bins, right=False))
# 向cut传入面元的数量,则会根据数据的最小值和最大值计算等长面元
print(pd.cut(ages, 4, precision=2)) # precision=2表示设置的精度

pd.qcut

与cut类似,它可以根据样本分位数对数据进行面元划分

pandas.qcut(x, q, labels=None, retbins=False, precision=3)

x:ndarray或Series

q:整数或分位数阵列分位数。十分位数为10,四分位数为4或者,分位数阵列,例如[0,.25,.5,.75,1.]四分位数

labels:array或boolean,默认值为无:用作生成的区间的标签。必须与生成的区间的长度相同。如果为False,则只返回bin的整数指示符。

retbins:bool,可选:是否返回bin。如果bin作为标量给出,则可能有用。

precision:int:存储和显示容器标签的精度

import numpy as np
import pandas as pd

# qcut可以根据样本分位数对数据进行面元划分
# data = np.random.randn(20) # 正态分布
data = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
cats = pd.qcut(data, 4) # 按四分位数进行切割
print(cats)
print(pd.value_counts(cats))
print("-------------------------------------------------")
# 通过指定分位数(0到1之间的数值,包含端点)进行面元划分
cats_2 = pd.qcut(data, [0, 0.5, 0.8, 0.9, 1])
print(cats_2)
print(pd.value_counts(cats_2))

以上这篇关于pandas的离散化,面元划分详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用matplotlib实现在坐标系中画一个矩形的方法
May 20 Python
python之文件的读写和文件目录以及文件夹的操作实现代码
Aug 28 Python
python paramiko模块学习分享
Aug 23 Python
python3处理含有中文的url方法
May 10 Python
Pycharm设置utf-8自动显示方法
Jan 17 Python
Python3实现汉语转换为汉语拼音
Jul 08 Python
安装docker-compose的两种最简方法
Jul 30 Python
PYcharm 激活方法(推荐)
Mar 23 Python
Python 实现打印单词的菱形字符图案
Apr 12 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
Jun 15 Python
Opencv python 图片生成视频的方法示例
Nov 18 Python
Python matplotlib多个子图绘制整合
Apr 13 Python
Python协程 yield与协程greenlet简单用法示例
Nov 22 #Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
Nov 22 #Python
在OpenCV里使用Camshift算法的实现
Nov 22 #Python
利用Python的sympy包求解一元三次方程示例
Nov 22 #Python
Python matplotlib以日期为x轴作图代码实例
Nov 22 #Python
python快速排序的实现及运行时间比较
Nov 22 #Python
Python实现平行坐标图的绘制(plotly)方式
Nov 22 #Python
You might like
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
2016/03/21 PHP
Thinkphp5.0框架视图view的模板布局用法分析
2019/10/12 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
2019/10/30 PHP
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
javascript 必知必会之closure
2009/09/21 Javascript
学习ExtJS Panel常用方法
2009/10/07 Javascript
js css样式操作代码(批量操作)
2009/10/09 Javascript
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
JS实现切换标签页效果实例代码
2013/11/01 Javascript
JS解析XML文件和XML字符串详解
2015/04/17 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
javascript创建对象的几种模式介绍
2016/05/06 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
基于Datatables跳转到指定页的简单实例
2017/11/09 Javascript
js 实现复选框只能选择一项的示例代码
2018/01/23 Javascript
了解JavaScript中let语句
2019/05/30 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
node.js事件轮询机制原理知识点
2019/12/22 Javascript
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
python实现多线程的两种方式
2016/05/22 Python
import的本质解析
2017/10/30 Python
python实现Decorator模式实例代码
2018/02/09 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
对python中字典keys,values,items的使用详解
2019/02/03 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
会计应聘求职信范文
2013/12/17 职场文书
高级工程师英文求职信
2014/03/19 职场文书
不拖欠农民工工资承诺书
2014/03/31 职场文书
医德医风演讲稿
2014/05/20 职场文书
出租车拒载检讨书
2015/01/28 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python