如何计算Pandas DataFrame中女性物理专业学生的录取率?
计算女性物理专业学生的录取率(Pandas实现)
没问题,我来一步步教你用Pandas搞定这个计算:
核心思路
我们需要先精准筛选出性别为女性且专业是Physics的学生群体,再统计这个群体中被录取(admitted为True)的人数占总人数的比例,这就是我们要的录取率。
具体步骤
筛选目标学生群体
用Pandas的布尔索引来过滤数据,注意要用元素级的逻辑运算符&(不能用Python原生的and),代码如下:# 筛选女性物理专业学生子集 female_physics_subset = df[(df['gender'] == 'female') & (df['major'] == 'Physics')]计算录取率
这里有两种简洁的实现方式:- 方法一:手动统计录取人数和总人数,再计算比例
# 统计该群体中被录取的人数 admitted_num = female_physics_subset['admitted'].sum() # 统计该群体的总人数 total_num = female_physics_subset.shape[0] # 计算录取率 admission_rate = admitted_num / total_num - 方法二:利用布尔值特性直接取均值(
True等价于1,False等价于0,均值就是录取比例)admission_rate = female_physics_subset['admitted'].mean()
- 方法一:手动统计录取人数和总人数,再计算比例
针对你的示例数据的结果
在你提供的DataFrame里,女性物理专业的学生只有1位(student_id=53714),且她被录取了,所以最终计算出的录取率是1.0(也就是100%)。
内容的提问来源于stack exchange,提问作者EdwardC
相关产品推荐
相关产品推荐

