numpy.squeeze()函数是用于从数组的形状中删除单维度条目的。 如果数组的形状中有一个单维度条目,则该数组返回一个维度较小的新数组。 如果该数组没有单维度条目,则该数组不变。
使用方法:
numpy.squeeze(a, axis=None)
参数说明:
- a : 输入的数组。
- axis :整数值,可选参数。不为None时,指定被删除的单维度条目的位置。默认情况下,所有单维度条目都会被删除。
返回值:
- 返回处理后的数组。
实例1
import numpy as np
# 定义一个具有单维度数组的二维数组
arr = np.array([[[0], [1], [2]]])
# 不指定 axis 参数
arr_squeeze = np.squeeze(arr)
print('原始数组:')
print(arr)
print('处理后的数组:')
print(arr_squeeze)
# 指定 axis 参数为 0
arr_squeeze_axis = np.squeeze(arr, axis=0)
print('指定 axis 参数之后的处理结果:')
print(arr_squeeze_axis)
输出结果:
原始数组:
[[[0]
[1]
[2]]]
处理后的数组:
[0 1 2]
指定 axis 参数之后的处理结果:
[[0]
[1]
[2]]
实例2
import numpy as np
# 定义一个没有单维度数组的三维数组
arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
# 不指定 axis 参数
arr_squeeze = np.squeeze(arr)
print('原始数组:')
print(arr)
print('处理后的数组:')
print(arr_squeeze)
# 指定 axis 参数为 0
arr_squeeze_axis = np.squeeze(arr, axis=0)
print('指定 axis 参数之后的处理结果:')
print(arr_squeeze_axis)
输出结果:
原始数组:
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
处理后的数组:
[[1 2]
[3 4]
[5 6]
[7 8]]
指定 axis 参数之后的处理结果:
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
在上面两个实例中,第一个实例中原始数组为一个具有单维度数组的二维数组,处理后的数组去掉了一个单维度,成为了一维数组。第二个实例中原始数组为一个没有单维度数组的三维数组,处理后的数组输出的是原数组本身,因为没有单维度的存在,所以不会发生处理的变化。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Numpy squeeze()(删除数组中维度为1的维度)函数的作用与使用方法 - Python技术站