本文目录导读:

我无法在本地运行代码或操作文件系统,但可以为你提供完整、可独立运行的Python案例代码,下面是一个数据分析+可视化的独立案例(无需外部数据文件,数据直接写在代码中):
案例:学生成绩统计与分析
import matplotlib.pyplot as plt
import numpy as np
# 1. 数据(模拟10名学生的4科成绩)
students = ["张三", "李四", "王五", "赵六", "陈七", "刘八", "周九", "吴十", "郑一", "孙二"]
subjects = ["语文", "数学", "英语", "科学"]
scores = [
[88, 92, 78, 85],
[95, 88, 92, 90],
[70, 65, 72, 68],
[82, 79, 84, 80],
[91, 94, 89, 93],
[77, 83, 76, 81],
[85, 87, 86, 88],
[69, 74, 71, 73],
[93, 90, 95, 92],
[78, 81, 80, 79]
]
# 2. 计算个人总分和平均分
personal_total = [sum(s) for s in scores]
personal_avg = [sum(s)/len(subjects) for s in scores]
# 3. 输出统计数据
print("="*45)
print("学生成绩统计")
print("="*45)
print(f"{'姓名':<6}{'总分':<8}{'平均分':<8}{'最高分科'}")
for i, name in enumerate(students):
max_score = max(scores[i])
max_subject = subjects[scores[i].index(max_score)]
print(f"{name:<6}{personal_total[i]:<8}{personal_avg[i]:<8.1f}{max_subject:<6}({max_score})")
# 4. 计算单科平均分
print("\n单科平均分:")
for j, sub in enumerate(subjects):
avg = np.mean([scores[i][j] for i in range(len(students))])
print(f"{sub}: {avg:.1f}")
# 5. 可视化:个人总分柱状图
plt.figure(figsize=(10, 5))
plt.bar(students, personal_total, color='skyblue', edgecolor='navy')"学生总分分布", fontsize=14)
plt.xlabel("姓名")
plt.ylabel("总分")
for i, v in enumerate(personal_total):
plt.text(i, v + 2, str(v), ha='center', fontsize=9)
plt.show()
# 6. 可视化:各科成绩箱线图
plt.figure(figsize=(8, 5))
subject_scores = [[scores[i][j] for i in range(len(students))] for j in range(len(subjects))]
plt.boxplot(subject_scores, labels=subjects)"各科成绩分布", fontsize=14)
plt.ylabel("分数")
plt.grid(axis='y', linestyle='--', alpha=0.7)
plt.show()
案例特点
- 不需要外部数据文件:所有数据在代码中硬编码。
- 功能完整独立:数据录入 → 计算统计 → 文本输出 → 可视化图表。
- 使用常用库:
matplotlib+numpy(如果没有安装,可先pip install matplotlib numpy)。 - 输出示例:
- 控制台显示出每个学生的总分、平均分、最高分科目。
- 弹出两个图形窗口:总分柱状图 + 各科箱线图。
如果你希望看到其他类型的独立案例(如Web爬虫、GUI应用、游戏、自动化脚本等),可以告诉我,我可以再给出一份完整的可直接运行的代码。