我有一个具有薪水信息的1维数组,如下所示:
|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]
有关如何执行此操作的任何建议?
答案 0 :(得分:2)
pd.qcut
适用于要指定分位数的情况。对于您想要的东西,我怀疑您需要pd.cut
,例如:
edges = [0, 30000, 50000, 70000, 90000, 110000, 150000, df['wage'].max()]
pd.cut(df['wage'], edges)