基于python cut和qcut的用法及区别详解

时间:2021-05-22

我就废话不多说了,直接上代码吧:

from pandas import Series,DataFrameimport pandas as pdimport numpy as npfrom numpy import nan as NAfrom matplotlib import pyplot as pltages = [20,22,25,27,21,23,37,31,61,45,41,32]#将所有的ages进行分组bins = [18,25,35,60,100]#使用pandas中的cut对年龄数据进行分组cats = pd.cut(ages,bins)#print(cats)#调用pd.value_counts方法统计每个区间的个数number=pd.value_counts(cats)#print(pd.value_counts(cats))#显示第几个区间index值index=pd.cut(ages,bins).codes#print(index)#为分类出来的每一组年龄加上标签group_names = ["Youth","YouthAdult","MiddleAged","Senior"]personType=pd.cut(ages,bins,labels=group_names)#print(personType)plt.hist(personType)#plt.show()#cut和qcut的用法data=[1,2,3,4,5,6,7,8,9,10]result=pd.qcut(data,4)print(' ',result)##qcut会将10个数据进行排序,然后再将data数据均分成四组#统计落在每个区间的元素个数print('dasdasdasdasdas: ',pd.value_counts(result))#qcut : 跟cut一样也可以自定义分位数(0到1之间的数值,包括端点)results=pd.qcut(data,[0,0.1,0.5,0.9,1])print('results: ',results)import numpy as npimport pandas as pddata = np.random.rand(20)print(data)#用cut函数将一组数据分割成n份#cut函数分割的方式:数据里的(最大值-最小值)/n=每个区间的间距#利用数据中最大值和最小值的差除以分组数作为每一组数据的区间范围的差值result = pd.cut(data,4,precision=2) #precision保留小数点的有效位数print(result)res_data=pd.value_counts(result)print(res_data)

以上这篇基于python cut和qcut的用法及区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章