【问题标题】:Change numerical Data to Categorical Data - Pandas [duplicate]将数值数据更改为分类数据 - Pandas [重复]
【发布时间】:2017-10-10 05:18:51
【问题描述】:

我有一个熊猫数据框,其中有一个数字列“数量”。金额从 0 到 20000 不等。我想将其更改为定义范围的分类变量。所以,分类变量是:

  1. 0-1000$之间
  2. 介于 1000-2000$ 等等.. 直到 19000-20000$

我不知道如何更改列。我可以将其更改为这样的二进制值:

months["value"] = np.where(months['amount']>=450, 'yes', 'no') 

但是,对于超过 2 个值的分类变量如何处理?

【问题讨论】:

    标签: python pandas numpy dataframe


    【解决方案1】:

    你可以使用cut:

    df = pd.DataFrame({'B':[4000,5000,4000,9000,5,11040]})
    
    df['D'] = pd.cut(df['B'], range(0, 21000, 1000))
    print (df)
           B               D
    0   4000    (3000, 4000]
    1   5000    (4000, 5000]
    2   4000    (3000, 4000]
    3   9000    (8000, 9000]
    4      5       (0, 1000]
    5  11040  (11000, 12000]
    

    【讨论】:

      猜你喜欢
      • 2019-09-29
      • 1970-01-01
      • 2017-07-23
      • 2019-09-07
      • 2014-01-20
      • 2020-12-31
      • 2020-05-17
      • 2016-06-26
      • 2021-11-02
      相关资源
      最近更新 更多