如何在Python中實現資料分箱

2021-09-25 21:21:20 字數 1751 閱讀 5254

1 資料分箱

資料分箱技術在pandas官方給出的定義:bin values into discrete intervals,是指將值劃分到離散區間。好比不同大小的蘋果歸類到幾個事先布置的箱子中;不同年齡的人劃分到幾個年齡段中。

這種技術在資料處理時會很有用。

2 例子

我們先來看例子

import numpy as np

import pandas as pd

ages = np.array([5

,10,36

,12,77

,89,100,30

,1])

#年齡資料12

3

現把資料劃分成 3 個區間,並打上老、中、青的標籤。pandas提供了易用的api,很容易就可以實現。

pd.cut(ages,

3, labels=

['青'

,'中'

,'老'])

1

結果如下,一行**便實現。

[青, 青, 中, 青, 老, 老, 老, 青, 青]

1

cut在操作時,統計了一維陣列的最小、最大值,得到乙個區間長度,因為需要劃分3個區間,所以會得到三個均勻的區間,如下。

pd.cut(ages,3)

>>

>區間如下:

categories (

3, interval[float64]):

[(0.901

,34.0

]<

(34.0

,67.0

]<

(67.0

,100.0]]

1234

給定資料的最小值為1,區間預設是左開右閉,所以為了囊括1,需要將最靠左的區間向左延長0.1%(總區間長度),預設精度為小數點後3位。

3 函式原型

通過以上例子初步認識cut後,再分析cut原型就比較容易。

引數含義如下:

x:被切分的類陣列資料,注意必須是1維;

bins:簡單理解為分箱規則,就是桶。支援int 標量、序列;

right:表示是否包含區間的右邊界,預設包含;

labels:分割後的bins打標籤;

retbins:表示是否將分割後的bins返回,預設不返回。如為true,則:

---

----

----

----

----

----

----

----

----

----

----

----

----

--注:我這有個學習基地,裡面有很多學習資料,感興趣的+q群:895

797751,--

----

----

----

----

----

----

----

----

----

----

----

----

--- array(

[0.901,34

.,67.

,100.]

))12

345include_lowest :區間的左邊是開還是閉,預設為開;

duplicates;是否允許重複區間。raise:不允許,drop:允許。

如何在Python中實現矩陣分析

根據事物 如產品,服務等 的兩個重要屬性 指標 作為分析依據,進行關聯分析,找出解決問題的一種分析方法。如何使用python進行矩陣分析呢 各個省份的gdp 人口矩陣分析,實現如下 import pandas import matplotlib import matplotlib.pyplot as...

如何在Python中實現RFM分析

rfm分析是根據客戶活躍程度和交易金額貢獻,進行客戶價值細分的一種方法 可以通過r,f,m三個維度,將客戶劃分為8種型別。rfm分析過程 1.計算rfm各項分值 r s,距離當前日期越近,得分越高,最高5分,最低1分 f s,交易頻率越高,得分越高,最高5分,最低1分 m s,交易金額越高,得分越高...

如何在 Python 中清屏

在很多時候,如果我們在控制台中使用 python,隨著時間的推移,可能會發現螢幕越來越亂。如下圖,我們跑了不少的測試程式,在螢幕上有很多的輸出。在 windows 中,我們會使用 cls 命令清屏。在 python,應該怎麼樣才能清屏呢?其實 python 並沒有清螢幕的命令,也沒有內建內建命令可以...