登录
首页大数据时代请问numpy中怎么删掉值为1的维度?
请问numpy中怎么删掉值为1的维度?
2023-04-28
收藏

在 NumPy 中,可以使用 np.squeeze() 函数来删除值为 1 的维度。本文将详细介绍 np.squeeze() 函数的用法和示例。

什么是 np.squeeze() 函数?

np.squeeze() 函数是 NumPy 库中的一个函数,用于从数组的形状中删除单维条目。如果将一个数组作为参数传递给 np.squeeze(),则该函数将返回一个新数组,其中所有维度为 1 的轴都被删除。此外,如果您希望只删除特定的维度,请在 np.squeeze() 函数的第二个参数中指定要删除的维度。

np.squeeze() 函数的语法

np.squeeze() 函数的语法如下所示:

numpy.squeeze(arr, axis=None)

其中:

  • arr:需要压缩的数组。
  • axis:默认为 None,表示删除所有维度为 1 的轴,也可以指定要删除的特定轴。

np.squeeze() 函数的示例

现在,让我们通过一些示例来了解 np.squeeze() 函数的使用。

示例 1:删除所有维度为 1 的轴

假设有一个形状为 (1, 2, 1, 3) 的数组。使用 np.squeeze() 函数可以从数组中删除维度为 1 的轴,并返回形状为 (2, 3) 的新数组。

import numpy as np

a = np.ones((1, 2, 1, 3))
b = np.squeeze(a)

print("Shape of a:", a.shape)
print("Shape of b:", b.shape)

输出:

Shape of a: (1, 2, 1, 3)
Shape of b: (2, 3)

示例 2:删除指定的维度

在这个例子中,我们将仅删除第二维和第四维。

import numpy as np

a = np.ones((1, 2, 3, 1, 4))
b = np.squeeze(a, axis=(1, 3))

print("Shape of a:", a.shape)
print("Shape of b:", b.shape)

输出:

Shape of a: (1, 2, 3, 1, 4)
Shape of b: (1, 3, 4)

总结

np.squeeze() 函数可以方便地删除数组中单维条目。您可以使用它来删除特定轴上的值为 1 的维度,也可以使用它来删除所有维度为 1 的轴。希望本文能够对您理解 np.squeeze() 函数有所帮助。

数据分析咨询请扫描二维码

客服在线
立即咨询