You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Colab中Excel学生数据的Python情境计数实现咨询

处理Students表格的情境统计方案

前置步骤

  1. 导入依赖库并读取Excel文件
    在Google Colab中执行以下代码,可选择上传本地文件或挂载Google Drive读取文件:
    import pandas as pd
    # 方式1:上传本地文件
    from google.colab import files
    uploaded = files.upload()
    # 替换为你的Excel文件名,比如Students.xlsx
    df = pd.read_excel('Students.xlsx')
    
    # 方式2:挂载Google Drive(文件存放在Drive时使用)
    # from google.colab import drive
    # drive.mount('/content/drive')
    # df = pd.read_excel('/content/drive/MyDrive/你的文件路径/Students.xlsx')
    
    执行后可通过df.head()确认数据是否正确读取。

1. 统计状态为Closed Enrollment的男性学生数量

通过布尔索引筛选符合条件的记录,再统计数量:

male_closed_count = ((df['Course Status'] == 'Closed Enrollment') & (df['Gender'] == 'M')).sum()
print(f"状态为Closed Enrollment的男性学生数量:{male_closed_count}")

原理:两个条件的布尔数组做逻辑与运算后,sum()会统计True的数量,即符合条件的记录数。


2. 找出退课(Closed Enrollment)学生最多的城市

先筛选退课数据,按城市分组统计人数,最后取最大值对应的城市:

# 筛选退课记录
closed_records = df[df['Course Status'] == 'Closed Enrollment']
# 统计各城市退课人数
city_closed_counts = closed_records['City'].value_counts()
# 获取人数最多的城市及对应数量
top_city = city_closed_counts.idxmax()
top_city_count = city_closed_counts.max()
print(f"退课学生最多的城市:{top_city},人数:{top_city_count}")

若存在多个城市人数并列最多,idxmax()会返回第一个出现的城市,需全部展示可自行调整逻辑。


3. 按年份统计Public和Particular学校的学生人数

推荐两种简洁实现方式:

方法1:使用pd.crosstab

year_school_stats = pd.crosstab(df['Year'], df['School Origin'])
print(year_school_stats)

直接生成以年份为行、学校类型为列的统计表格,自动填充各组合的人数。

方法2:使用groupby+unstack

year_school_stats = df.groupby(['Year', 'School Origin']).size().unstack(fill_value=0)
print(year_school_stats)

通过分组统计数量后,unstack将学校类型转为列,fill_value=0确保无数据的年份-学校组合显示为0。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 03:05:20