猿问

如何对列中的特定值进行分组?

我有一个包含多列的数据框,并为年龄间隔添加了一个新列。


# 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

但是如何根据no_show数据的值 0 和 1 对数据进行分组。例如,在年龄间隔 (0,5] 中,8192 中的 3291 是 0,4901 是 1 no_show,等等。


临摹微笑
浏览 130回答 1
1回答

慕村225694

一个简单的方法是对两列进行分组并使用size()它返回一个系列:df.groupby(['age_intervals', 'no_show']).size()这将返回一个根据age_intervals列和no_show列划分的值的系列。
随时随地看视频慕课网APP

相关分类

Python
我要回答