首页 > 解决方案 > 发现每个职业的男性比例并将其从高到低排序

问题描述

表链接: https ://raw.githubusercontent.com/justmarkham/DAT8/master/data/u.user (separator=|) 我已经解决了我的代码

a=users.groupby(['occupation','gender']).gender.count()
b=users.groupby('occupation').gender.count()
c=(a/b)*100
c.sort_values(ascending=False).xs('M',level=1)

但有问题的是,需要使用 numpy.where() 对性别列进行编码,而我无法做到这一点。如何通过使用 numpy.where() 对性别列进行编码来解决它

标签: pythonpandasnumpydata-sciencedata-analysis

解决方案


以下对我有用:

users['is_male'] = np.where(users.gender == 'M', 1, 0)

(users.groupby('occupation').is_male.sum()/users.groupby('occupation').gender.count()).round(2).sort_values(ascending = False)

推荐阅读