什么是 NumPy 的 'np.newaxis' 以及如何使用它
理解 'np.newaxis'
NumPy 的“np.newaxis”,也称为“None”,是一个伪索引,用于临时向数组添加轴。使用一次时,它将数组的维度增加一。例如,1D 数组变成 2D 数组,2D 数组变成 3D 数组等等。
使用 'np.newaxis' 的场景
场景 1:从一维数组创建行/列向量
'np.newaxis' 可用于将一维数组显式转换为行向量(通过沿第一维插入轴)或列向量(通过沿第二维插入轴)。
场景 2:启用 NumPy 广播
'np.newaxis' 在执行涉及以下操作时非常有用NumPy 广播。例如,考虑添加两个形状为“(5,)”和“(3,)”的数组。 NumPy 会因形状不兼容而引发错误。通过使用 'np.newaxis' 增加一个数组的维度,可以启用广播来执行该操作。
场景 3:将数组提升到更高的维度
'np.newaxis' 可以多次使用以将数组提升到更高维度,这对于高阶数组(张量)可能是必需的。
使用示例
至使用'np.newaxis',将其插入到切片表达式中。例如:
<code class="python"># Create a row vector from a 1D array x = np.arange(4) x_row_vector = x[np.newaxis, :]</code>
要启用广播:
<code class="python"># Add a 1D array to a 2D array x1 = np.array([1, 2, 3, 4, 5]) x2 = np.array([5, 4, 3]) x1_new = x1[:, np.newaxis] # Insert axis for broadcasting result = x1_new + x2</code>
替代: 'np.expand_dims'
'np.expand_dims' 是'np.newaxis' 的替代方案,提供直观的 'axis' kwarg 来指定新轴的插入点。
附加注释
以上是如何使用 NumPy 的'np.newaxis”在数组操作中启用广播?的详细内容。更多信息请关注PHP中文网其他相关文章!