【问题标题】:How to Create Categorical Column in Python based on Existing Column value?如何根据现有列值在 Python 中创建分类列?
【发布时间】:2021-05-15 23:48:03
【问题描述】:

我是 python 新手 有没有什么简单的方法可以根据 python 中的现有值创建分类值?

city lapse
a    0
b    1
a    1
a    0
b    0
b    1

我要创建的列是基于平均失效列的城市分类

city avg_lapse city_class
a    0.3       < .5
b    0.6       > .5

并根据该计算创建一个新列

city lapse city_class
a    0     < .5
b    1     > .5
a    1     < .5
a    0     < .5
b    0     > .5
b    1     > .5

目前,我正在将干净的数据导出到 csv,在 excel 中计算类别,然后将其上传到 python 环境,知道如何创建这个的自动化版本吗?

【问题讨论】:

    标签: python pandas dataframe jupyter-notebook google-colaboratory


    【解决方案1】:

    使用GroupBy.transform 重复聚合值,因此可以通过numpy.where 创建新列:

    mean = df.groupby('city')['lapse'].transform('mean')
    df['city_class'] = np.where(mean > 0.5, '> .5', '<= .5')
    print (df)
      city  lapse  city_class
    0    a      0       <= .5
    1    b      1       >  .5
    2    a      1       <= .5
    3    a      0       <= .5
    4    b      0       >  .5
    5    b      1       >  .5
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-21
      • 2021-11-23
      • 2021-04-19
      • 1970-01-01
      • 2021-09-19
      • 1970-01-01
      • 2018-10-07
      • 1970-01-01
      相关资源
      最近更新 更多