📅  最后修改于: 2023-12-03 14:46:36.687000             🧑  作者: Mango
numpy.squeeze()
函数用于从数组的形状中删除单维度条目。当我们处理数据时,有时候可能会得到包含单维度条目的数组,但是这些单维度并不实际提供任何有用的信息。在这种情况下,我们可以使用squeeze()
函数来去除这些单维度,并将数组转换为更简洁的形式。
numpy.squeeze(a, axis=None)
返回一个经过去除单维度的新数组。
import numpy as np
# 1. 去除单维度
arr1 = np.array([[[0], [1], [2]]])
print(np.squeeze(arr1)) # 输出: [[0], [1], [2]](1个维度被去除)
# 2. 通过axis参数指定去除的轴
arr2 = np.arange(6).reshape(1,2,1,3,1)
print(np.squeeze(arr2, axis=2).shape) # 输出: (1, 2, 3, 1)(第2个维度被去除)
# 3. 未指定axis参数,默认去除所有长度为1的单维度
arr3 = np.array([[1], [2], [3]])
print(np.squeeze(arr3).shape) # 输出: (3,)(所有长度为1的维度被去除)
以上示例展示了numpy.squeeze()
函数的不同用法。你可以根据你的需求来选择是否指定axis
参数来控制去除的轴,或者直接使用默认方式一次性去除所有长度为1的单维度。
注意:虽然
numpy.squeeze()
函数返回一个新数组,但是在内存中它们公用同一份数据。因此,在处理大规模数据时,要注意不要对原始数据或者压缩后的数据进行不必要的修改。