根据自定义范围离散化Pandas列

时间:2018-07-06 21:59:43

标签: python pandas dataframe discretization

是否有一种方法可以根据自定义限制(表示范围的长度不相等)从Pandas数据框中离散化列?之前在这里提出的问题并不涵盖这种情况。

例如,假设我们要按以下方式将数字等级(4个等级)转换为垃圾箱:

3.75至4:优秀

3.5至3.75:很好

3.25至3.5:好

3到3.25:平均值

2.5至3:不良

低于2.5:非常糟糕

我知道可以使用一系列ifelse来完成,但是我一直在寻找一种更清洁,更灵活(用于更大数量的垃圾箱)的方式。 / p>

1 个答案:

答案 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"])