面试题答案
一键面试import numpy as np
# 创建一个形状为(5, 4, 3)的三维NumPy数组模拟数据
data = np.random.randint(0, 100, size=(5, 4, 3))
# 计算每个小组学生所有课程成绩的中位数
# axis=1表示沿着第二个维度(即每个小组内的学生维度)进行计算,axis=2表示沿着第三个维度(即课程维度)进行计算
# 这里先将每个小组内所有学生的所有课程成绩合并在一起,再计算中位数
median_scores = np.median(data, axis=(1, 2))
print(median_scores)
计算逻辑:
- 首先使用
np.random.randint
创建一个形状为(5, 4, 3)
的随机整数数组data
来模拟成绩数据。 - 然后通过
np.median
函数计算中位数,axis=(1, 2)
参数指定了在第二个维度(学生维度)和第三个维度(课程维度)上进行计算。这样就可以将每个小组内所有学生的所有课程成绩合并起来计算中位数,最终得到每个小组学生所有课程成绩的中位数。