溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

pandas的qcut()方法詳解

發(fā)布時(shí)間:2020-09-17 12:58:48 來(lái)源:腳本之家 閱讀:390 作者:猴子吃果凍 欄目:開(kāi)發(fā)技術(shù)

pandas的qcut可以把一組數(shù)字按大小區(qū)間進(jìn)行分區(qū),比如

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

比如我要把這組數(shù)據(jù)分成兩部分,一半大的,一半小的,如果是小的數(shù),值就變成'small number',大的數(shù),值就變成'large number':

print(pd.qcut(data,[0,0.5,1],labels=['small number','large number']))
small numbers
  large numbers
  small numbers
  small numbers
  small numbers
  large numbers
  small numbers
  large numbers
  large numbers
  small numbers
  large numbers
dtype: category
Categories (2, object): [small numbers < large numbers]

qcut() 方法第一個(gè)參數(shù)是數(shù)據(jù),第二個(gè)參數(shù)定義區(qū)間的分割方法,比如這里把數(shù)字分成兩半,那就是 [0, 0.5, 1] 如果要分成4份,就是 [0, 0.25, 0.5, 0.75, 1] ,也可以不是均分,比如 [0, 0.1, 0.2, 0.3, 1] ,這就就會(huì)按照 1:1:1:7 進(jìn)行分布,比如:

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%']))
first 10%
      70%
   first 10%
      70%
   third 10%
      70%
  second 10%
      70%
      70%
      70%
     70%
dtype: category Categories 
(4, object): [first 10% < second 10% < third 10% < 70%]

當(dāng)然,這里因?yàn)閿?shù)據(jù)里有11個(gè)數(shù),沒(méi)法剛好按照 1:1:1:7 分,所以 0和1,都被分到了 'first10%' 這一類(lèi).

qcut() 方法第二個(gè)參數(shù)是要替換的值,就是對(duì)應(yīng)區(qū)間的值應(yīng)該替換成什么值,順序和區(qū)間保持一致就好了,注意有幾個(gè)區(qū)間,就要給幾個(gè)值,不能多也不能少.

qcut與cut的主要區(qū)別:

qcut:傳入?yún)?shù),要將數(shù)據(jù)分成多少組,即組的個(gè)數(shù),具體的組距是由代碼計(jì)算

cut:傳入?yún)?shù),是分組依據(jù)。具體見(jiàn)示例  

1、qcut方法,參考鏈接:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.qcut.html

1).參數(shù):pandas.qcut(x,q,labels=None,retbins=False,precision=3,duplicates='raise')

>>>x 要進(jìn)行分組的數(shù)據(jù),數(shù)據(jù)類(lèi)型為一維數(shù)組,或Series對(duì)象

>>>q 組數(shù),即要將數(shù)據(jù)分成幾組,后邊舉例說(shuō)明

>>>labels 可以理解為組標(biāo)簽,這里注意標(biāo)簽個(gè)數(shù)要和組數(shù)相等

>>>retbins 默認(rèn)為False,當(dāng)為False時(shí),返回值是Categorical類(lèi)型(具有value_counts()方法),為T(mén)rue是返回值是元組

2).舉例

pandas的qcut()方法詳解

2.cut方法,官網(wǎng)鏈接:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.cut.html

1).參數(shù):pandas.cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False,duplicates='raise')

2).舉例

    pandas的qcut()方法詳解

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guā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)容。

AI