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

Tap*_*sal 7 python dataframe pandas discretization

有没有办法根据自定义限制(意味着范围的长度不相等)来离散化 Pandas 数据框中的列?此处提出的先前问题不涵盖此案例。

例如,假设我们想要将数字成绩(满分 4 分)转换为 bin,如下所示:

3.75 至 4:优秀

3.5 至 3.75:非常好

3.25 至 3.5:好

3 至 3.25:平均

2.5 至 3:差

2.5以下:非常差

我知道可以使用一系列ifs 和elses 来完成,但我一直在寻找一种更干净、更灵活(对于更多数量的垃圾箱)的方法来做到这一点。

WeN*_*Ben 10

您可以使用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"])
Run Code Online (Sandbox Code Playgroud)