使用numpy中的newaxis()函数进行维度扩展与变换
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函数可以在指定的位置插入新的维度,从而改变数组的维度形状。
