我嘗試了解如何使用pandas.cut資料范圍的正確順序創建一個資料表,我已將其劃分為多個箱。使用以下代碼生成隨機年齡:
import numpy as np
import pandas as pd
ages = np.random.standard_normal(1000)*20 30
ages[ages<0]=0
ages[ages>120]=120
我使用這一行對資料進行分類:
ages = pd.Series(ages, dtype=int)
ages_cut = pd.cut(ages,[0,20,40,60,80,100,120])
但是,當我使用時,ages_cut.value_counts()我會得到一個年齡范圍順序錯誤的表格:
(20, 40] 379
(0, 20] 268
(40, 60] 233
(60, 80] 56
(80, 100] 3
(100, 120] 0
dtype: int64
uj5u.com熱心網友回復:
除了@QuangHoang 的注釋之外,您還可以使用value_counts一個bins引數:
bins : int , 可選
而不是計數值,將它們分組到半開箱中,方便 pd.cut,僅適用于數字資料。
>>> ages.value_counts(bins=[0,20,40,60,80,100,120], sort=False)
(-0.001, 20.0] 334
(20.0, 40.0] 382
(40.0, 60.0] 224
(60.0, 80.0] 54
(80.0, 100.0] 6
(100.0, 120.0] 0
dtype: int64
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/350295.html
上一篇:如何按字母順序排列連接的列
