繁体   English   中英

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

[英]How to pandas groupby specific value in a column?

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

# 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]中, no_show中的0和4901中的值为1,依此类推。

一种简单的方法是将两个列都分组,并使用size()返回一个Series:

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

这将返回具有分别取决于age_intervals列和no_show列的值的系列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM