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

numpy中的newaxis()函数详细解读与实例演示

发布时间:2023-12-24 10:44:29

numpy.newaxis()函数在numpy库中是一个用于扩展数组维度的方法。它用于在现有的数组中插入一个新的轴。在NumPy中,轴可以理解为多维数组的方向或维度。

下面是numpy.newaxis()函数的详细解读和实例演示。

numpy.newaxis函数的语法如下:

numpy.newaxis

该函数没有任何参数。它返回一个维度为1的新维度对象,可以在原数组的任意位置插入。numpy.newaxis可以用于创建一个根据需求调整的新维度。

下面是一个实例演示,假设我们有一个一维数组,我们想要将这个数组转换成二维数组:

import numpy as np

a = np.array([1, 2, 3, 4, 5])

print(a.shape)   # 输出 (5,)

b = a[np.newaxis, :]

print(b.shape)   # 输出 (1, 5)

在上面的代码中,我们首先创建一个一维数组[1, 2, 3, 4, 5],然后使用np.newaxis函数将这个数组转换成一个二维数组。我们可以看到,原来的一维数组形状为(5,),而转换后的二维数组形状为(1, 5)

除了在行方向上插入新的维度,我们还可以在列方向上插入新的维度:

import numpy as np

a = np.array([1, 2, 3, 4, 5])

print(a.shape)   # 输出 (5,)

b = a[:, np.newaxis]

print(b.shape)   # 输出 (5, 1)

在上面的代码中,我们使用np.newaxis函数在列方向上插入了一个新维度。转换后的二维数组形状为(5, 1),这是因为原数组的形状为(5,)

除了插入一个新维度,numpy.newaxis还可以插入多个新维度。例如,在一个二维数组中,我们可以插入两个新维度:

import numpy as np

a = np.array([[1, 2], [3, 4]])

print(a.shape)   # 输出 (2, 2)

b = a[np.newaxis, :, :]

print(b.shape)   # 输出 (1, 2, 2)

c = a[:, np.newaxis, :]

print(c.shape)   # 输出 (2, 1, 2)

d = a[:, :, np.newaxis]

print(d.shape)   # 输出 (2, 2, 1)

在上面的代码中,我们首先创建一个二维数组[[1, 2], [3, 4]]。然后使用np.newaxis函数在不同的维度上插入不同数量的新维度。我们可以看到,对于每一个新插入的维度,原来的维度都会增加一。

综上所述,numpy.newaxis()函数是numpy提供的一个在现有数组中插入新的维度的方法。通过在适当的位置插入新维度,我们可以改变数组的形状,以适应不同的需求。