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

目录

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的维度

import numpy as np

# 创建一个维度为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)

去除单一维度后的数组:
[1 2 3]
新数组形状: (3,)

从运行结果可以看出,原始数组arr的形状为(1, 3, 1),经过squeeze()方法处理后,单一维度被删除,新数组的形状变为了(3,)。

2.2 例2:删除指定的维度

除了简单去除单一维度外,squeeze()方法还可以用来指定删除的维度。例如,当数组中有多个维度为1时,我们可以通过指定axis参数来删除特定的维度。

import numpy as np

# 创建一个多维数组
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()方法并没有删除该维度。因此,最终的数组形状保持不变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值