面试题答案
一键面试import numpy as np
# 生成两个形状为(1000, 1000)的二维NumPy数组
A = np.random.rand(1000, 1000)
B = np.random.rand(1000, 1000)
# 对应元素相乘并对结果矩阵的每一行求平均值
result = np.mean(A * B, axis=1)
print(result)
性能优化说明
- 向量化操作:在NumPy中,使用
A * B
进行对应元素相乘,而不是使用Python的循环语句。NumPy的底层实现是基于C语言,向量化操作利用了这种底层优化,大大减少了Python循环带来的额外开销。 np.mean
函数:使用np.mean
函数并指定axis=1
来计算每一行的平均值,np.mean
同样是经过优化的向量化操作,避免了手动编写循环来计算平均值,提高了运算效率。