【问题标题】:Discretizing a Pandas column based on custom ranges根据自定义范围离散化 Pandas 列
【发布时间】:2018-07-06 21:59:42
【问题描述】:

有没有办法根据自定义限制从 Pandas 数据帧中离散化一列(这意味着范围的长度不相等)?此处之前提出的问题不涉及此案例。

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

3.75 到 4:优秀

3.5 到 3.75:非常好

3.25 到 3.5:好

3 到 3.25:平均

2.5 到 3:差

低于 2.5:非常糟糕

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

【问题讨论】:

    标签: python pandas dataframe discretization


    【解决方案1】:

    您可以使用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"])
    

    【讨论】:

      猜你喜欢
      • 2017-11-10
      • 1970-01-01
      • 1970-01-01
      • 2017-04-20
      • 2018-04-13
      • 2018-09-10
      • 2020-04-30
      • 1970-01-01
      • 2019-01-30
      相关资源
      最近更新 更多