pandas的qcut()方法詳解
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() 方法第一個參數(shù)是數(shù)據(jù),第二個參數(shù)定義區(qū)間的分割方法,比如這里把數(shù)字分成兩半,那就是 [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 進(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個數(shù),沒法剛好按照 1:1:1:7 分,所以 0和1,都被分到了 'first10%' 這一類.
qcut() 方法第二個參數(shù)是要替換的值,就是對應(yīng)區(qū)間的值應(yīng)該替換成什么值,順序和區(qū)間保持一致就好了,注意有幾個區(qū)間,就要給幾個值,不能多也不能少.
qcut與cut的主要區(qū)別:
qcut:傳入?yún)?shù),要將數(shù)據(jù)分成多少組,即組的個數(shù),具體的組距是由代碼計算
cut:傳入?yún)?shù),是分組依據(jù)。具體見示例
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ù)類型為一維數(shù)組,或Series對象
>>>q 組數(shù),即要將數(shù)據(jù)分成幾組,后邊舉例說明
>>>labels 可以理解為組標(biāo)簽,這里注意標(biāo)簽個數(shù)要和組數(shù)相等
>>>retbins 默認(rèn)為False,當(dāng)為False時,返回值是Categorical類型(具有value_counts()方法),為True是返回值是元組
2).舉例
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).舉例
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python?matplotlib實(shí)戰(zhàn)之氣泡圖繪制
氣泡圖是一種多變量的統(tǒng)計圖表,可以看作是散點(diǎn)圖的變形,這篇文章主要為大家介紹了如何使用Matplotlib繪制氣泡圖,需要的小伙伴可以參考下2023-08-08Python Socket實(shí)現(xiàn)簡單TCP Server/client功能示例
這篇文章主要介紹了Python Socket實(shí)現(xiàn)簡單TCP Server/client功能,結(jié)合實(shí)例形式分析了Python基于socket創(chuàng)建TCP服務(wù)器Server與客戶端client相關(guān)實(shí)現(xiàn)步驟與操作技巧,需要的朋友可以參考下2017-08-08Flask SocketIO實(shí)現(xiàn)動態(tài)繪圖的示例詳解
Flask-SocketIO 是基于 Flask 的一個擴(kuò)展,用于簡化在 Flask 應(yīng)用中集成 WebSocket 功能,本文主要介紹了Flask SocketIO如何實(shí)現(xiàn)動態(tài)繪圖,需要的可以參考下2023-11-11Python?正則表達(dá)式基礎(chǔ)知識點(diǎn)及實(shí)例
在本篇文章里小編給大家整理了關(guān)于Python正則表達(dá)式的一些基礎(chǔ)知識點(diǎn)以及相關(guān)用法實(shí)例內(nèi)容,需要的朋友們可以參考下。2021-12-12Anaconda配置各版本Pytorch的實(shí)現(xiàn)
本文是整理目前全版本pytorch深度學(xué)習(xí)環(huán)境配置指令,以下指令適用Windows操作系統(tǒng),在Anaconda Prompt中運(yùn)行,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08Python 安裝 virturalenv 虛擬環(huán)境的教程詳解
這篇文章主要介紹了Python 安裝 virturalenv 虛擬環(huán)境的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02