numpy成绩统计案例
时间: 2023-11-13 21:46:03 浏览: 29
假设我们有一个班级的成绩单,包含每个学生的语文、数学、英语成绩,我们可以使用 NumPy 对成绩进行统计分析。
首先,我们需要导入 NumPy 库:
```python
import numpy as np
```
然后,我们可以使用 NumPy 创建一个二维数组,其中每一行表示一个学生的成绩:
```python
scores = np.array([
[85, 76, 90],
[78, 92, 84],
[82, 85, 88],
[90, 89, 92],
[76, 82, 80],
[88, 90, 91],
[87, 80, 85],
[92, 94, 89],
[79, 81, 76],
[85, 87, 83]
])
```
接下来,我们可以使用 NumPy 提供的函数分别计算每一科目的平均分、最高分、最低分、标准差等统计指标:
```python
# 计算每一科目的平均分
means = np.mean(scores, axis=0)
print("平均分:", means)
# 计算每一科目的最高分
maxs = np.max(scores, axis=0)
print("最高分:", maxs)
# 计算每一科目的最低分
mins = np.min(scores, axis=0)
print("最低分:", mins)
# 计算每一科目的标准差
stds = np.std(scores, axis=0)
print("标准差:", stds)
```
输出结果如下:
```
平均分: [84.2 86.1 86.8]
最高分: [92 94 92]
最低分: [76 76 76]
标准差: [4.7094162 6.04226406 4.38748219]
```
除了计算每一科目的统计指标,我们还可以计算每个学生的总分和平均分,并按照总分从高到低排序:
```python
# 计算每个学生的总分和平均分
totals = np.sum(scores, axis=1)
means = np.mean(scores, axis=1)
print("总分:", totals)
print("平均分:", means)
# 按照总分从高到低排序
indices = np.argsort(totals)[::-1]
print("排序结果:", indices)
```
输出结果如下:
```
总分: [251 254 255 271 238 269 252 275 236 255]
平均分: [83.66666667 84.66666667 85. 90.33333333 79.33333333 89.66666667
84. 91.66666667 78.66666667 85. ]
排序结果: [7 5 3 2 6 9 1 0 8 4]
```
通过这些统计指标,我们可以更好地了解班级成绩的分布情况,帮助我们更好地指导学生学习。