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!
推薦閱讀:
- Pandas對數值進行分箱操作的4種方法總結
- Python機器學習三大件之二pandas
- pd.drop_duplicates刪除重復行的方法實現
- pandas中NaN缺失值的處理方法
- Python Pandas中DataFrame.drop_duplicates()刪除重復值詳解