pandas的qcut()方法

pandas的qcut可以把一组数字按大小区间进行分区,比如

data = pd.Series([0,8,1,5,3,7,2,6,10,4,9])

比如我要把这组数据分成两部分,一半大的,一半小的,如果是小的数,值就变成‘small number‘,大的数,值就变成‘large number‘:

print(pd.qcut(data,[0,0.5,1],labels=[‘small number‘,‘large number‘]))
0     small numbers
1     large numbers
2     small numbers
3     small numbers
4     small numbers
5     large numbers
6     small numbers
7     large numbers
8     large numbers
9     small numbers
10    large numbers
dtype: category
Categories (2, object): [small numbers < large numbers]

qcut() 方法第一个参数是数据,第二个参数定义区间的分割方法,比如这里把数字分成两半,那就是 [0, 0.5, 1] 如果要分成4份,就是 [0, 0.25, 0.5, 0.75, 1] ,也可以不是均分,比如 [0, 0.1, 0.2, 0.3, 1] ,这就就会按照 1:1:1:7 进行分布,比如:

data = pd.Series([0,8,1,5,3,7,2,6,10,4,9])
print(pd.qcut(data,[0, 0.1, 0.2, 0.3, 1],labels=[‘first 10%‘,‘second 10%‘,‘third 10%‘,‘70%‘]))
0      first 10%
1            70%
2      first 10%
3            70%
4      third 10%
5            70%
6     second 10%
7            70%
8            70%
9            70%
10           70%dtype: category Categories (4, object): [first 10% < second 10% < third 10% < 70%]

当然,这里因为数据里有11个数,没法刚好按照 1:1:1:7 分,所以 0和1,都被分到了 ‘first10%‘ 这一类.

qcut() 方法第二个参数是要替换的值,就是对应区间的值应该替换成什么值,顺序和区间保持一致就好了,注意有几个区间,就要给几个值,不能多也不能少.

原文地址:https://www.cnblogs.com/liulangmao/p/9342544.html

时间: 2024-11-02 22:13:49

pandas的qcut()方法的相关文章

pandas的Categorical方法

对于数据样本的标签,如果我们事先不知道这个样本有多少类别,那么可以对数据集的类别列进行统计,这时我们用pandas的Categorical方法就非常快的实现. 1.说明: 你的数据最好是一个series,之后,pd.Categorical(series),得到分类的对象,使用categories或者codes进行查看 2.操作: pd.Categorical( list ).codes 这样就可以直接得到原始数据的对应的序号列表,通过这样的处理可以将类别信息转化成数值信息 ,这样就可以应用到模型

pandas 常用统计方法

统计方法 pandas 对象有一些统计方法.它们大部分都属于约简和汇总统计,用于从 Series 中提取单个值,或从 DataFrame 的行或列中提取一个 Series. 比如 DataFrame.mean(axis=0,skipna=True) 方法,当数据集中存在 NA 值时,这些值会被简单跳过,除非整个切片(行或列)全是 NA,如果不想这样,则可以通过 skipna=False 来禁用此功能: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

pandas.DataFrame 索引方法区别

有三种索引:ix,iloc,loc: 使用方法都是 __.ix[row, columns] 详细的见 pandas 文档. 需要注意的差别是: 1,ix方法 混合索引和位置下标(必须是整数),先考虑是否是在标签索引中,然后考虑是位置下标.如果是整数作为index,ix就按照索引标签选取.  loc方法按照标签,iloc方法按位置下标. 2,虽然都支持切片,单个选择也超出范围: 但是,单个赋值的时候,ix方法可以选择不再索引内的,类似字典的方式新建一个标签行或列. 一般情况最好明确使用标签还是位置

Python openpyxl、pandas操作Excel方法简介与具体实例

本篇重点讲解windows系统下 Python3.5中第三方excel操作库-openpyxl: 其实Python第三方库有很多可以操作Excel,如:xlrd,xlwt,xlwings甚至注明的数据分析模块Pandas也提供pandas.read_excel.pandas.DataFrame.to_excel功能. 那么openpyxl的库有哪些优缺点呢: 优势: 1.openpyxl提供对pandas的dataframe对象完美支持: 2.openpyxl支持后台静默打开excel文件: 3

pandas的concat方法

concat方法,用于拼接pandas数据,用处比较大 函数: 1 pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, 2 keys=None, levels=None, names=None, verify_integrity=False) 参数说明: objs:pandas数据,可以是series,dataFrame,或者是panel构成的序列 axis:需要合并拼接的轴,0表示行,1表示列 jo

pandas一些使用方法整理

1.关于读取文件报错: low_memory的作用: 如果说不指定dtype的话,默认的熊猫在读取的时候会提取该字段下面空间占用最小的作为内存存储单位,如果指定 low_memory=False的话,直接跳过这个判断步骤,默认已存储单位最长的作为存储单位: 2.使用熊猫进行大规模数据读取时,分块读取 cuiji1_1=pd.read_csv('cuiji1_1.csv',low_memory=False)cuiji1_2=pd.read_csv('cuiji1_2.csv',low_memory

pandas的merge方法

数据合并时可以使用merge方法,对两个dataFrame根据某一个series合并,这个方法非常好用,只要找到了合并的标准,新的数据就可以重构出来. 1.命令: pd.merge() on:列名,join用来对齐的那一列的名字,用到这个参数的时候一定要保证左表和右表用来对齐的那一列都有相同的列名. left_on:左表对齐的列,可以是列名,也可以是和dataframe同样长度的arrays. right_on:右表对齐的列,可以是列名,也可以是和dataframe同样长度的arrays. le

pandas中assign方法的使用

assign是直接向DataFrame对象添加新的一列 示例: import numpy as np import pandas as pd data = {'name':['lily','jack','hanson','bom'],'age':np.random.randint(15,25,size=4),'gerder':['F','M','M','F']} df = pd.DataFrame(data) df.assign(score=np.random.randint(60,100,si

【数据分析&amp;数据挖掘】pandas去空方法——删除法&amp;保留法

1 import pandas as pd 2 3 # 加载数据 4 detail = pd.read_excel("./meal_order_detail.xlsx") 5 print("detail: \n", detail) 6 print("detail的列名称: \n", detail.columns) 7 8 # 1.删除法 9 # 先进性判断,哪些列都是空的 10 drop_list = [] 11 for column in de