欢迎访问宙启技术站
智能推送

Numpy中newaxis()函数的用法及示例

发布时间:2023-12-24 10:42:21

在Numpy中,newaxis()函数用于在数组中插入一个新的维度。它可以将一维数组转换为二维数组,或将二维数组转换为三维数组,以此类推。

newaxis()的用法非常简单,只需在数组的索引中使用它即可。下面是一个简单的示例:

import numpy as np
a = np.array([1, 2, 3, 4, 5])
print(a.shape)  # 输出 (5,),表示a是一个一维数组

b = a[np.newaxis, :]
print(b.shape)  # 输出 (1, 5),表示b是一个行向量,其实质是将a转换成了二维数组

c = a[:, np.newaxis]
print(c.shape)  # 输出 (5, 1),表示c是一个列向量,同样是将a转换成了二维数组

在上面的例子中,我们首先创建了一个一维数组a,其形状为(5,)。然后,我们使用newaxis()函数将a转换成了二维数组,行向量b和列向量c。可以看到,转换后的二维数组的形状分别为(1, 5)和(5, 1)。

newaxis()函数还可以用于多维数组,下面是一个示例:

import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.shape)  # 输出 (2, 3),表示a是一个二维数组

b = a[:, np.newaxis, :]
print(b.shape)  # 输出 (2, 1, 3),表示b是一个三维数组,其中每个元素是一个行向量

c = a[:, :, np.newaxis]
print(c.shape)  # 输出 (2, 3, 1),表示c是一个三维数组,其中每个元素是一个列向量

在上面的例子中,我们首先创建了一个二维数组a,其形状为(2, 3)。然后,我们使用newaxis()函数将a转换成了三维数组b和c,其中b的形状为(2, 1, 3),c的形状为(2, 3, 1)。可以看到,转换后的三维数组中的每个元素都是一个行向量或列向量。

总的来说,newaxis()函数在Numpy中非常常用,可以用来改变数组的维度,为数组的进一步计算和处理提供便利。通过在数组的索引中使用newaxis()函数,可以轻松地将一维数组转换为二维或多维数组,以及将二维或多维数组转换为更高维度的数组。这对于数组的扩展和重构非常有用。