指定范围内的Python bin数据

标签 python pandas numpy quantile

我有一个一维数组,其中包含薪资信息,如下所示:

|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)

关于指定范围内的Python bin数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56359577/

相关文章:

python - Numpy 矩阵乘法与矩阵数组

python - 在 python 中将 .rrd 文件转换为 json

javascript - 从 N E D Big Ints 生成序列化的 rsa 公钥/私钥

python - 如何使用 Bulkloader 工具将当前日期/时间上传到 App Engine?

python-3.x - 根据其他两列的分组值获取均值列

python - 移动曲线的底部而不改变两端

python - 在 Python 中正确使用 super——我应该明确引用类名吗?

python - 捕获异常并返回空数据帧

pandas - 如何使用 Spark2 和 Scala 获取不同值、数据帧中列的计数并作为 (k,v) 对存储在另一个数据帧中

python - 创建一个 0's and 1' s 的板(Numpy 二维数组)