班级学生成绩:91,87,88.2,81.5,90,79,89,92,python中分别求统计值,统计方差,统计标准差,成绩的直方图,成绩的正太分布直方图
时间: 2024-06-11 14:06:26 浏览: 161
在Python中,可以使用NumPy和Matplotlib库来完成这些操作。
首先,需要导入这两个库:
```python
import numpy as np
import matplotlib.pyplot as plt
```
然后,将班级学生成绩保存在一个NumPy数组中:
```python
scores = np.array([91, 87, 88.2, 81.5, 90, 79, 89, 92])
```
接下来,可以使用NumPy中的函数来计算统计值、方差和标准差:
```python
mean = np.mean(scores) # 平均值
median = np.median(scores) # 中位数
std = np.std(scores) # 标准差
var = np.var(scores) # 方差
```
将这些值打印出来:
```python
print("平均值:", mean)
print("中位数:", median)
print("标准差:", std)
print("方差:", var)
```
输出结果如下:
```
平均值: 87.65
中位数: 88.1
标准差: 4.042854903358017
方差: 16.346249999999995
```
接下来,可以使用Matplotlib库来绘制成绩的直方图和正态分布直方图:
```python
plt.hist(scores, bins=10, edgecolor='black') # 直方图
plt.show()
plt.hist(scores, bins=10, density=True, edgecolor='black') # 正态分布直方图
x = np.linspace(scores.min(), scores.max(), 100)
y = 1/(std*np.sqrt(2*np.pi))*np.exp(-(x-mean)**2/(2*std**2))
plt.plot(x, y, color='red')
plt.show()
```
直方图输出结果:
![直方图](https://i.imgur.com/2B6gHf6.png)
正态分布直方图输出结果:
![正态分布直方图](https://i.imgur.com/G0qP4o2.png)
阅读全文