用Python编写代码,在“智能终端程序开发课程成绩表.xlsx”Excel文件中存在四列,分别是作业成绩,项目成绩,期末成绩和总评成绩的和,并绘制柱状图和饼状图
时间: 2024-10-13 13:18:09 浏览: 30
在Python中,我们可以使用pandas库来读取Excel文件并处理数据,matplotlib库来创建图表。首先,你需要安装这两个库,如果没有安装,可以使用pip install pandas matplotlib命令。
以下是大致步骤:
```python
# 导入所需的库
import pandas as pd
import matplotlib.pyplot as plt
# 1. 读取Excel文件
df = pd.read_excel('智能终端程序开发课程成绩表.xlsx')
# 确保所有分数都是数值型
df = df.apply(pd.to_numeric, errors='coerce')
# 检查是否有缺失值
if df.isna().sum().any():
print("存在缺失值,需要先处理或忽略它们")
# 计算总评成绩
df['总评成绩'] = df['作业成绩'] + df['项目成绩'] + df['期末成绩']
# 2. 创建柱状图
plt.figure(figsize=(10,6))
plt.bar(df.columns[:-1], df.iloc[:, :-1].mean()) # 平均分作为每个项目的代表值
plt.title('各部分成绩平均值')
plt.xlabel('科目')
plt.ylabel('平均分')
plt.show()
# 3. 创建饼状图
plt.figure(figsize=(8,8))
total_score = df['总评成绩'].sum()
labels = df.columns[:-1]
sizes = df.iloc[:, :-1].sum() / total_score * 100
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140)
plt.title('成绩分布')
plt.legend(title='成绩类别', loc='upper right')
plt.axis('equal') # 保持饼状图圆形
plt.show()
```
阅读全文