人工手动分箱,是指已经有了标准,比如:60分以下不合格,60-80合格,80+优秀
可以使用pandas.cut
进行分箱,更多用法可以参考官方文档:https://pandas.pydata.org/docs/reference/api/pandas.cut.html
代码:
import pandas as pd
value_list = [10, 20, 30.4, 59, 61, 79, 80, 90, 99, 100]
# 没有标签,只有区间的划分
cut_bin = pd.cut(value_list, [0, 60, 80, 100], labels=['不合格', '合格', '优秀'])
print(pd.DataFrame(cut_bin, value_list))
得到结果:
10.0 不合格
20.0 不合格
30.4 不合格
59.0 不合格
61.0 合格
79.0 合格
80.0 合格
90.0 优秀
99.0 优秀
100.0 优秀
注意:
- 指定区间默认左开右闭
- 如果需要表示正无穷/负无穷,可以使用:
float('inf')
/-float('inf')
,比如:[-float('inf'), 0, 60, 80, 100, float('inf')]