找回密码
 会员注册
查看: 21|回复: 0

Python中squeeze()方法详解:删除长度为1的维度

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
71335
发表于 2024-9-6 00:03:58 | 显示全部楼层 |阅读模式
目录1.squeeze()方法语法2.squeeze()方法使用举例 2.1例1:删除所有长度为1的维度2.2例2:删除指定的维度在Python中,squeeze()方法用于删除数组中的单一维度。某些情况下,当我们创建一个数组时,可能会出现一些不必要的维度,这些维度对于我们的计算并没有实际价值,这时可使用squeeze()方法将这些单一维度去除。1.squeeze()方法语法numpy.squeeze(a,axis=None)其中,参数a是需要操作的数组,axis是要删除的维度。若不指定axis参数,则squeeze()方法会删除所有长度为1的维度。2.squeeze()方法使用举例 2.1例1:删除所有长度为1的维度importnumpyasnp#创建一个维度为1的数组arr=np.array([[[1],[2],[3]]])print("原始数组:")print(arr)print("原始数组形状:",arr.shape)#使用squeeze()方法删除单一维度new_arr=np.squeeze(arr)print("\n去除单一维度后的数组:")print(new_arr)print("新数组形状:",new_arr.shape)'运行运行运行以上代码后,得到以下结果。原始数组:[[[1][2][3]]]原始数组形状:(1,3,1)去除单一维度后的数组:[123]新数组形状:(3,)从运行结果可以看出,原始数组arr的形状为(1,3,1),经过squeeze()方法处理后,单一维度被删除,新数组的形状变为了(3,)。2.2例2:删除指定的维度除了简单去除单一维度外,squeeze()方法还可以用来指定删除的维度。例如,当数组中有多个维度为1时,我们可以通过指定axis参数来删除特定的维度。importnumpyasnp#创建一个多维数组arr=np.array([[[1],[2],[3]]])print("原始数组:")print(arr)print("原始数组形状:",arr.shape)#制定删除的维度new_arr=np.squeeze(arr,axis=1)print("\n删除指定维度后的数组:")print(new_arr)print("新数组形状:",new_arr.shape)运行结果如下。原始数组:[[[1][2][3]]]原始数组形状:(1,3,1)删除指定维度后的数组:[[[1][2][3]]]新数组形状:(1,3,1)在上面的示例中,我们制定了axis参数为1(第二个维度),但是因为该维度不是长度为1的单一维度,所以squeeze()方法并没有删除该维度。因此,最终的数组形状保持不变。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-9 19:28 , Processed in 0.583942 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表