pandas pd.cut()與pd.qcut()的具體實現

1、pd.cut函數有7個參數,主要用於對數據從最大值到最小值進行等距劃分

 pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False)

參數:

x : 輸入待cut的一維數組

bins : cut的段數,一般為整型,但也可以為序列向量。

right : 佈爾值,確定右區間是否開閉,取True時右區間閉合

labels : 數組或佈爾值,默認為None,用來標識分後的bins,長度必須與結果bins相等,返回值為整數或者對bins的標識

retbins : 佈爾值,可選。是否返回數值所在分組,Ture則返回

precision : 整型,bins小數精度,也就是數據以幾位小數顯示

include_lowest : 佈爾類型,是否包含左區間

2、pd.qcut函數,按照數據出現頻率百分比劃分,比如要把數據分為四份,則四段分別是數據的0-25%,25%-50%,50%-75%,75%-100%

pd.qcut(x, q, labels=None, retbins=False, precision=3, duplicates='raise')

代碼示例:

import numpy as np
from numpy import *
import pandas as pd
df = pd.DataFrame()
df['data'] = [1,2,2,2,2,6,7,8,9,0]#這裡註意箱邊界值需要唯一,不然qcut時程序會報錯
df['cut']=pd.cut(df['data'],5)
df['qcut']=pd.qcut(df['data'],5)
df.head(10)

運行結果如圖:

可以看到cut列各個分段之間間距相等,qcut由於數據中‘2’較多,所以2附近間距較小,2之後的分段間距較大。 

 到此這篇關於pandas pd.cut()與pd.qcut()的具體實現的文章就介紹到這瞭,更多相關pandas pd.cut()與pd.qcut()內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: