NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。是在学习机器学习、深度学习之前应该掌握的一个非常基本且实用的Python库。
本实训将介绍NumPy的一些更高级的知识与使用方法。实训通关后你将学会NumPy的进阶使用技能,并为后续的综合练习部分打好基础。如果你对NumPy的基础知识不熟,可以看看这里。
PS:若需要更加详细的查阅NumPy所提供的接口,可以查阅官方文档。
任务描述
相关知识
什么是广播
广播的原则
编程要求
任务描述
本关任务:利用广播机制实现Z-score标准化。
相关知识
为了完成本关任务,你需要掌握:
什么是广播;
广播的原则。
什么是广播
两个ndarray对象的相加、相减以及相乘都是对应元素之间的操作。
import numpy as np
x = np.array([[2,2,3],[1,2,3]])
y = np.array([[1,1,3],[2,2,4]])
print(x*y)
‘’’
输入结果如下:
[[ 2 2 9]
[ 2 4 12]]
‘’’
当两个ndarray对象的形状并不相同的时候,我们可以通过扩展数组的方法来实现相加、相减、相乘等操作,这种机制叫做广播(broadcasting)。
比如,一个二维的ndarray对象减去列平均值,来对数组的每一列进行取均值化处理:
import numpy as np
arr为4行3列的ndarray对象
arr = np.random.randn(4,3)
arr_mean为有3个元素的一维ndarray对象
arr_mean = arr.mean(axis=0)
<