统计’0-10分’、10-20,20-30,30-40,40-50,‘50-60分’、‘60-70分’、‘70-80分’、‘80-90分’、'90-100分’的学生人数,然后使用 matplotlib 绘制直方图hist表示各个分数段的人数分布情况。
时间: 2024-01-06 12:03:30 浏览: 226
oracle错误一览表.txt
以下是示例代码:
```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.hist(df['score'], bins=bins, edgecolor='black')
# 添加标签
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.hist(df['score'], bins=bins, edgecolor='black')` 绘制直方图,将分数划分为 0-10分、10-20分、20-30分等 10 个分数段,每个分数段的宽度为 10,直方图边缘颜色为黑色。
5. `plt.title('学生成绩分布')`、`plt.xlabel('分数')`、`plt.ylabel('人数')` 添加了图形标题、x 轴标签和 y 轴标签。
6. `plt.show()` 显示图形。
运行这段代码,您就可以看到各个分数段的人数分布情况的直方图。
阅读全文