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' 可以多次使用以将数组提升到更高的维度,这对于高阶数组(张量)可能是必需的。
用法示例
To使用'np.newaxis',将其插入到切片表达式中。例如:
# Create a row vector from a 1D array
x = np.arange(4)
x_row_vector = x[np.newaxis, :]
启用广播:
# 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
替代方案: 'np.expand_dims'
'np.expand_dims' 是 'np.newaxis' 的替代方案,提供直观的“轴” kwarg 指定新轴的插入点。
附加说明
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3