numpy.squeeze()函数是用于从数组的形状中删除单维度条目的。 如果数组的形状中有一个单维度条目,则该数组返回一个维度较小的新数组。 如果该数组没有单维度条目,则该数组不变。
使用方法:
numpy.squeeze(a, axis=None)
参数说明:
返回值:
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]]
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]]]
在上面两个实例中,第一个实例中原始数组为一个具有单维度数组的二维数组,处理后的数组去掉了一个单维度,成为了一维数组。第二个实例中原始数组为一个没有单维度数组的三维数组,处理后的数组输出的是原数组本身,因为没有单维度的存在,所以不会发生处理的变化。
本文链接:http://task.lmcjl.com/news/17030.html