NumPy 高级操作:广播、布尔逻辑与花式索引
1. 广播的实际应用
广播操作是许多数据分析任务的核心,下面介绍两个常见的应用场景。
1.1 数组中心化
假设我们有一个包含 10 个观测值的数组,每个观测值有 3 个特征。我们可以使用以下代码生成这个数组:
import numpy as np
X = np.random.random((10, 3))
接下来,我们计算每个特征的均值:
Xmean = X.mean(0)
print(Xmean)
然后,通过减去均值来对数组进行中心化,这是一个广播操作:
X_centered = X - Xmean
为了验证中心化是否正确,我们可以检查中心化后的数组的均值是否接近零:
print(X_centered.mean(0))
结果显示,在机器精度范围内,均值接近零。
1.2 绘制二维函数
广播在绘制基于二维函数的图像时非常有用。假设我们要定义一个函数 z = f(x, y)
,可以使用广播来计算网格上的函数值。以下是具体代码: