读取名为 score.csv 的数据文件,文件中包含某班 60 位同学的期末成绩。针对这些成绩进行分段计数统计,即统计’0-10分’、10-20,20-30,30-40,40-50,‘50-60分’、‘60-70分’、‘70-80分’、‘80-90分’、'90-100分’的学生人数,然后使用 matplotlib 绘制直方图表示各个分数段的人数分布情况。
时间: 2024-01-08 12:02:12 浏览: 98
.csv 读取和绘图:.csv 读取和绘图-matlab开发_rezip1.zip
以下是示例代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据文件
df = pd.read_csv('score.csv')
# 分组统计
bins = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
labels = ['0-10分', '10-20分', '20-30分', '30-40分', '40-50分', '50-60分', '60-70分', '70-80分', '80-90分', '90-100分']
df['score_group'] = pd.cut(df['score'], bins, labels=labels, include_lowest=True)
counts = df['score_group'].value_counts()
# 绘制直方图
plt.bar(counts.index, counts.values)
# 添加标签
plt.title('学生成绩分布')
plt.xlabel('分数段')
plt.ylabel('人数')
# 显示图形
plt.show()
```
解释一下这段代码:
1. `pd.read_csv('score.csv')` 读取了名为 score.csv 的数据文件。
2. `pd.cut(df['score'], bins, labels=labels, include_lowest=True)` 对成绩进行分组统计,将分数划分为 0-10分、10-20分、20-30分等 10 个分数段,并统计每个分数段的人数。
3. `df['score_group'].value_counts()` 统计每个分数段的人数。
4. `plt.bar(counts.index, counts.values)` 绘制直方图。
5. `plt.title('学生成绩分布')`、`plt.xlabel('分数段')`、`plt.ylabel('人数')` 添加了图形标题、x 轴标签和 y 轴标签。
6. `plt.show()` 显示图形。
运行这段代码,您就可以看到各个分数段的人数分布情况的直方图。
阅读全文