从data1.csv中读取一段数据(自己姓名同一行数据)并转化数组,并 统计各个分数段的数据绘制直方图。
时间: 2024-02-16 21:04:23 浏览: 65
使用计算数据画直方图
5星 · 资源好评率100%
假设`data1.csv`文件的内容如下:
```
姓名,数学成绩,语文成绩,英语成绩
张三,90,85,92
李四,78,80,85
王五,92,89,95
赵六,85,88,82
李七,80,79,90
王八,88,91,83
刘九,78,85,80
```
我们可以使用Python中的pandas库来读取csv文件并进行数据处理。代码如下:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 读取csv文件
df = pd.read_csv('data1.csv')
# 获取数学成绩的数组
math_scores = np.array(df['数学成绩'])
# 统计各个分数段的数据
bins = [0, 60, 70, 80, 90, 100] # 分数段
hist, _ = np.histogram(math_scores, bins=bins) # 统计直方图
# 绘制直方图
plt.bar(bins[:-1], hist, width=10)
plt.xlabel('分数段')
plt.ylabel('人数')
plt.title('数学成绩直方图')
plt.show()
```
代码解释:
1. 使用`pd.read_csv()`函数读取csv文件并得到`DataFrame`对象`df`。
2. 从`df`中获取数学成绩的一列数据,并使用`np.array()`函数将其转化为`numpy`数组。
3. 使用`np.histogram()`函数统计各个分数段的人数,并得到直方图数组`hist`。
4. 使用`plt.bar()`函数绘制直方图。其中`bins[:-1]`表示分数段的左边界,`hist`表示各个分数段的人数,`width=10`表示每个分数段的宽度为10。`plt.xlabel()`和`plt.ylabel()`分别设置x轴和y轴的标签,`plt.title()`设置图表的标题。
5. 最后使用`plt.show()`函数显示图表。
阅读全文