代码之家  ›  专栏  ›  技术社区  ›  Sshankar7

如何按列中的特定值分组?

  •  1
  • Sshankar7  · 技术社区  · 7 年前

    我有一个多列的数据帧,使用with为年龄间隔添加了一个新列。

    # Create Age Intervals
    bins = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100]
    df['age_intervals'] = pd.cut(df['age'],bins)
    

    no_show 表示某人是否使用值0或1出席约会。通过使用下面的代码,我能够根据 age_intervals .

    df[['no_show','age_intervals']].groupby('age_intervals').count()
    
    Output: 
    age_intervals   no_show
      (0, 5]        8192
     (5, 10]        7017
    (10, 15]        5719
    (15, 20]        7379
    (20, 25]        6750
    

    但是我怎样才能把这些 不显示 基于其值0和1的数据。例如,在年龄间隔(0,5)中,8192中的3291是0,4901是1 不显示 等等。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Shaido MadHadders    7 年前

    一个简单的方法是在两列上分组并使用 size() 返回一个序列:

    df.groupby(['age_intervals', 'no_show']).size()
    

    这将返回一个系列,根据两个 age_intervals 列和 no_show 列。