You need to enable JavaScript to run this app. 如何使用numpy.where编码性别列以计算各职业男性占比并降序排序
优惠活动
大模型
产品
解决方案
定价
更多

如何使用numpy.where编码性别列以计算各职业男性占比并降序排序

实现代码及说明

首先导入依赖库并读取数据:

import pandas as pd
import numpy as np

# 读取分隔符为|的用户数据
users = pd.read_csv('https://raw.githubusercontent.com/justmarkham/DAT8/master/data/u.user', sep='|', index_col='user_id')

使用numpy.where()对gender列进行编码,将男性'M'标记为1,女性'F'标记为0:

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

基于编码后的字段计算各职业男性占比,输出结果和你原有代码逻辑完全一致:

# 按职业分组计算男性总数、职业总人数
occ_group = users.groupby('occupation')['gender_encoded'].agg(male_count='sum', total_count='count')
# 计算男性占比并按降序排序
res = (occ_group['male_count'] / occ_group['total_count'] * 100).sort_values(ascending=False)

内容的提问来源于stack exchange,提问作者user14286489

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 03:45:01