4

有没有办法根据自定义限制从 Pandas 数据框中离散化列(意味着范围不等长)?以前在这里提出的问题不包括这种情况。

例如,假设我们要将数字等级(4 分)转换为 bin,如下所示:

3.75 至 4:优秀

3.5 至 3.75:非常好

3.25 至 3.5:好

3 到 3.25:平均

2.5 到 3:差

低于 2.5:非常差

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

4

1 回答 1

5

你可以使用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"])
于 2018-07-06T22:04:09.943 回答