Python 系列教案(第 5 课):Pandas 自动化 Excel 成绩分析

张开发
2026/4/10 7:01:32 15 分钟阅读

分享文章

Python 系列教案(第 5 课):Pandas 自动化 Excel 成绩分析
一、完整 Python 案例代码Pythonimport pandas as pdimport matplotlib.pyplot as plt# 解决中文显示问题plt.rcParams["font.sans-serif"] = ["SimHei"]plt.rcParams["axes.unicode_minus"] = Falsedef run_score_analysis():# 1. 读取 Excel 文件df = pd.read_excel("student_scores.xlsx")# 2. 基础数据查看print("===== 数据预览 =====")print(df.head())print("\n===== 基本信息 =====")df.info()# 3. 计算总分与平均分df["总分"] = df["语文"] + df["数学"] + df["英语"]df["平均分"] = round(df["总分"] / 3, 2)# 4. 统计各科指标stats = pd.DataFrame({"最高分": df[["语文", "数学", "英语"]].max(),"最低分": df[["语文", "数学", "英语"]].min(),"平均分": df[["语文", "数学", "英语"]].mean().round(2),"及格人数": (df[["语文", "数学", "英语"]] = 60).sum(),"不及格人数": (df[["语文", "数学", "英语"]] 60).sum()})print("\n===== 各科统计 =====")print(stats)# 5. 排名df["年级排名"] = df["总分"].rank(ascending=False, method="min").astype(int)df_sort = df.sort_values("年级排名")# 6. 保存结果with pd.ExcelWriter("成绩分析结果.xlsx") as writer:df_sort.to_excel(writer, sheet_name="成绩排名", index=False)stats.to_excel(writer, sheet_na

更多文章