是否有一种方法可以根据自定义限制(表示范围的长度不相等)从Pandas数据框中离散化列?之前在这里提出的问题并不涵盖这种情况。
例如,假设我们要按以下方式将数字等级(4个等级)转换为垃圾箱:
3.75至4:优秀
3.5至3.75:很好
3.25至3.5:好
3到3.25:平均值
2.5至3:不良
低于2.5:非常糟糕
我知道可以使用一系列if
和else
来完成,但是我一直在寻找一种更清洁,更灵活(用于更大数量的垃圾箱)的方式。 / p>
答案 0 :(得分:3)
您可以使用cut
pd.cut(df["Yourcolumns"],
bins=[0, 2.5, 3, 3.25, 3.5, 3.75, 4],
labels=["Very bad", "Bad", "Average", "good", "Very good", "Excellent"])