关键词

详解Numpy squeeze()(删除数组中维度为1的维度)函数的作用与使用方法

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]]]

在上面两个实例中,第一个实例中原始数组为一个具有单维度数组的二维数组,处理后的数组去掉了一个单维度,成为了一维数组。第二个实例中原始数组为一个没有单维度数组的三维数组,处理后的数组输出的是原数组本身,因为没有单维度的存在,所以不会发生处理的变化。

本文链接:http://task.lmcjl.com/news/17030.html

展开阅读全文