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

使用numpy中的newaxis()函数进行维度扩展与变换

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

numpy中的newaxis函数可用于对数组的维度进行扩展和变换。在扩展维度时,newaxis函数将原数组的维度从n维扩展为n+1维,扩展后的新维度的长度为1。

使用newaxis函数可以在指定的位置插入新的维度。例如,对于一个shape为(3,)的一维数组,可以使用newaxis函数在其维度上插入一个新的维度,将其转换为shape为(1, 3)的二维数组。

下面是一个使用newaxis函数进行维度扩展的例子:

import numpy as np

# 定义一维数组
a = np.array([1, 2, 3])

# 使用newaxis函数在数组的维度上插入新的维度
# 将原数组扩展为二维数组
b = a[np.newaxis, :]

print(a.shape)  # 输出 (3,)
print(b.shape)  # 输出 (1, 3)

在上面的例子中,原数组a的形状为(3,),即一维数组。通过在数组的维度上使用newaxis函数,在 个维度上插入一个新的维度,得到的新数组b的形状为(1, 3),即二维数组。

newaxis函数还可以用于指定多个维度上插入新的维度,从而将数组的维度扩展为更高维度。例如,对于一个shape为(3,)的一维数组,可以使用newaxis函数在其 维和第二维上插入新的维度,将其转换为shape为(1, 1, 3)的三维数组。

下面是一个使用newaxis函数进行多维度扩展的例子:

import numpy as np

# 定义一维数组
a = np.array([1, 2, 3])

# 使用newaxis函数在      维和第二维上插入新的维度
# 将原数组扩展为三维数组
b = a[np.newaxis, np.newaxis, :]

print(a.shape)  # 输出 (3,)
print(b.shape)  # 输出 (1, 1, 3)

在上面的例子中,原数组a的形状为(3,),即一维数组。通过在 维和第二维上使用newaxis函数分别插入两个新的维度,得到的新数组b的形状为(1, 1, 3),即三维数组。

除了进行维度扩展,newaxis函数还可以用于变换数组的维度。例如,可以使用newaxis函数将一个一维数组转换为单列的二维数组。

下面是一个使用newaxis函数进行维度变换的例子:

import numpy as np

# 定义一维数组
a = np.array([1, 2, 3])

# 使用newaxis函数将一维数组变换为单列的二维数组
b = a[:, np.newaxis]

print(a.shape)  # 输出 (3,)
print(b.shape)  # 输出 (3, 1)

在上面的例子中,原数组a的形状为(3,),即一维数组。通过在第二维上使用newaxis函数插入一个新的维度,得到的新数组b的形状为(3, 1),即单列的二维数组。

综上所述,numpy中的newaxis函数可用于进行维度扩展和变换。使用newaxis函数可以在指定的位置插入新的维度,从而改变数组的维度形状。