如何使用NumPy的标识函数生成一个n x n形状的标识数组

120 阅读1分钟

NumPy中最实用但最直接的函数之一是ident()函数。这个函数允许你在一个简单的步骤中生成一个身份数组。

让我们来探讨一下这个函数是如何工作的以及如何使用它。

什么是身份数组?

在进一步讨论之前,最好先澄清一下什么是身份数组。

同一性数组是指主对角线上有1的正方形数组。简单地说,一个身份数组是一个在主对角线上保留1的数组,而其余的元素都是0。

以上是一个身份数组的例子。

NumPy identity() 函数语法

该函数有一个简单的语法,如下所示。

numpy.identity(n, dtype=None, *, like=None)

函数参数

  1. n - 指的是输出数组的尺寸。顺序是行和列。
  2. dtype - 指定输出数组的数据类型。

函数的返回值

该函数返回一个指定形状的身份数组,即n x n。

例子1

以下面的例子为例。

# import numpy
import numpy as np
# generate square array
print(np.identity(5))

上面的代码应该生成一个有五行和五列的身份数组。结果输出如图所示。

[[1. 0. 0. 0. 0.]
[0. 1. 0. 0. 0.]
[0. 0. 1. 0. 0.]
[0. 0. 0. 1. 0.]
[0. 0. 0. 0. 1.]]

例2

你也可以指定数组元素的数据类型为浮点值。下面是一个例子的代码。

print(np.identity(3, dtype=float))

得到的数组如图所示。

[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]

结语

通过这篇文章,你知道了什么是身份数组。你还学会了如何使用NumPy的标识函数生成一个n x n形状的标识数组。