您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)怎么在python中使用cut與qcut,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
我就廢話不多說(shuō)了,直接上代碼吧:
from pandas import Series,DataFrame import pandas as pd import numpy as np from numpy import nan as NA from matplotlib import pyplot as plt ages = [20,22,25,27,21,23,37,31,61,45,41,32] #將所有的ages進(jìn)行分組 bins = [18,25,35,60,100] #使用pandas中的cut對(duì)年齡數(shù)據(jù)進(jìn)行分組 cats = pd.cut(ages,bins) #print(cats) #調(diào)用pd.value_counts方法統(tǒng)計(jì)每個(gè)區(qū)間的個(gè)數(shù) number=pd.value_counts(cats) #print(pd.value_counts(cats)) #顯示第幾個(gè)區(qū)間index值 index=pd.cut(ages,bins).codes #print(index) #為分類出來(lái)的每一組年齡加上標(biāo)簽 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會(huì)將10個(gè)數(shù)據(jù)進(jìn)行排序,然后再將data數(shù)據(jù)均分成四組 #統(tǒng)計(jì)落在每個(gè)區(qū)間的元素個(gè)數(shù) print('dasdasdasdasdas: ',pd.value_counts(result)) #qcut : 跟cut一樣也可以自定義分位數(shù)(0到1之間的數(shù)值,包括端點(diǎn)) results=pd.qcut(data,[0,0.1,0.5,0.9,1]) print('results: ',results)
import numpy as np import pandas as pd data = np.random.rand(20) print(data) #用cut函數(shù)將一組數(shù)據(jù)分割成n份 #cut函數(shù)分割的方式:數(shù)據(jù)里的(最大值-最小值)/n=每個(gè)區(qū)間的間距 #利用數(shù)據(jù)中最大值和最小值的差除以分組數(shù)作為每一組數(shù)據(jù)的區(qū)間范圍的差值 result = pd.cut(data,4,precision=2) #precision保留小數(shù)點(diǎn)的有效位數(shù) print(result) res_data=pd.value_counts(result) print(res_data)
看完上述內(nèi)容,你們對(duì)怎么在python中使用cut與qcut有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。