人工手動分箱,是指已經有了标準,比如: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')]