numpy增加维度、删除维度的方法
在NumPy中,可以使用reshape()函数增加或删除数组的维度,也可以使用squeeze()函数删除长度为1的维度。下面将详细讲解NumPy增加维度、删除维度的方法,包括reshape()函数、squeeze()函数的用法,以及两个示例。
reshape()函数的用法
在NumPy中,可以使用reshape()函数增加或删除数组的维度。reshape()函数的用法如下:
import numpy as np
# 创建一个形状为(2, 3)的二维数组
a = np.array([[1, 2, 3], [4, 5, 6]])
# 将数组重塑为形状为(2, 3, 1)的三维数组
b = a.reshape((2, 3, 1))
# 打印结果
print(a)
print(b)
在上面的示例中,我们首先使用np.array()函数创建了一个二维数组a,然后使用reshape()函数将其重塑为形状为(2, 3, 1)的三维数组,并将结果保存在变量b中。最后,使用print()函数打印出了原数组a和重塑后的b。
需要注意的是,重塑后的数组素个数必须与原数组元素个数相同,否则会报错。
squeeze()函数的用法
在NumPy中,可以使用squeeze()函数删除长度为1的维度。squeeze()函数的用法如下:
import numpy as np
# 创建一个形状为(2, 3, 1)的三维数组
a = np.array([[[1], [2], [3]], [[4], [5], [6]]])
# 删除长度为1的维度
b = np.squeeze(a)
# 打印结果
print(a)
print(b)
在上面的示例中,我们首先使用np.array()函数创建了一个形状为(2, 3, 1)的三维数组a,然后使用squeeze()函数删除了长度为1的维度,并将结果保存在变量b中。最后,使用print()函数打印出了原数组a和删除维度后的b。
需要注意的是,squeeze()函数只能删除长度为1的维度,如果数组中有多个长度为1的维度需要多次调用squeeze()函数。
示例一:增加维度
import numpy as np
# 创建一个形状为(2, 3)的二维数组
a = np.array([[1, 2, 3], [4, 5, 6]])
# 将数组重塑为形状为(2, 3, 1)的三维数组
b = a.reshape((2, 3, 1))
# 打印结果
print(a)
print(b)
在上面的示例中,我们首先使用np.array()函数创建了一个二维数组a,然后使用reshape()函数将其重塑为形状为(2, 3, 1)的三维数组,并将结果保存在变量b中。最后,使用print()函数打印出了原数组a和重塑后的b。
需要注意的是,重塑后的数组元素个数必须与原数组元素个数相同,否则会报错。
示例二:删除维度
import numpy as np
# 创建一个形状为(2, 3, 1)的三维数组
a = np.array([[[1], [2], [3]], [[4], [5], []]])
# 删除长度为1的维度
b = np.squeeze(a)
# 打印结果
print(a)
print(b)
在上面的示例中,我们首先使用np.array()函数创建了一个形状为(2, 3, 1)的三维数组a,然后使用squeeze()函数删除了长度为1的维度,并将结果保存在变量b中。最后,使用print()函数打印出了原数组a和删除维度后的b。
需要注意的是,squeeze()函数只能删除长度为1的维度,如果数组中有多个长度为1的维度需要多次调用squeeze()函数。