【问题标题】:Replacing the values in each row [duplicate]替换每行中的值[重复]
【发布时间】:2020-11-26 18:05:40
【问题描述】:

我有一个年龄列:

     A     
  "25-34"
  "18-24"
    34
  "35-44"
  "+65" 
    26
    32
    70 
   ...

我想用适当的年龄范围替换个位数。我有点新手,我被卡住了。例如,32 将被替换为字符串“35-44” 用适当的年龄范围替换整数的正确方法是什么?

提前致谢。

我期望的专栏是:

     A     
  "25-34"
  "18-24"
  "25-34"
  "35-44"
  "+65" 
  "25-34"
  "25-34"
  "+65" 
   ... 

【问题讨论】:

  • 看看pd.Interval
  • 您的预期输出是什么?例如,“35-44”的整数值是多少……似乎您希望该字段为“分类”……在这种情况下-即使是字符串,您所拥有的也似乎还不错跨度>
  • 好吧,现在我迷失了你想要的东西。看来您应该删除所有单个数字
  • 是的。对不起,如果我不是那么清楚。我想将所有单个数字映射到适当的年龄范围,即字符串。

标签: python pandas


【解决方案1】:
cut_labels = ['0-17', '18-34', '35-44','45-64','+65']
cut_bins = [0, 17, 34,44,64,float("inf") ]
df['A_new'] = pd.cut(df['A'], bins=cut_bins, labels=cut_labels)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    • 1970-01-01
    • 2021-06-28
    • 2021-08-07
    • 2020-11-15
    • 2014-06-25
    相关资源
    最近更新 更多