我有一个包含多个列的数据框,并为年龄间隔添加了新列。
# 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中的1no_show
等。
一种简单的方法是将两个列都分组并使用size()
,它返回一个Series:
df.groupby(['age_intervals', 'no_show']).size()
这将返回一个根据age_intervals
列和no_show
列划分值的系列。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句