Python 指定范围内的bin数据

Python bin data in specified ranges

我有一个包含工资信息的一维数组,如下所示:

|wage    |
|75000   |
|125000  |
|130000  |

等等。我使用 qcut 函数对数据进行分箱,但我想使用四舍五入的范围,这样看起来更美观。

目前我的代码如下:

quant = pd.qcut(df['wage'], [0.1, 0.2, 
0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]).value_counts()

并产生

(42500.0, 50000.0]         3285
(27882.399, 32500.0]       3158
(32500.0, 37500.0]         3000
(69926.75, 82500.0]        2988
(58878.5, 69926.75]        2922
(82500.0, 110000.0]        2914
(110000.0, 145600000.0]    2866
(37500.0, 42500.0]         2677
(50000.0, 58878.5]         2554
Name: wage, dtype: int64

我想要以下范围:

(0, 30000]
(30000, 50000]
(50000, 70000]
(70000, 90000]
(90000, 110000]
(110000, 150000]
(150000, max wage]

关于如何做到这一点有什么建议吗?

pd.qcut 适用于您想要指定 分位数 的情况。对于你想要的,我怀疑你需要pd.cut,例如:

edges = [0, 30000, 50000, 70000, 90000, 110000, 150000, df['wage'].max()]

pd.cut(df['wage'], edges)