NumPy中最实用但最直接的函数之一是ident()函数。这个函数允许你在一个简单的步骤中生成一个身份数组。
让我们来探讨一下这个函数是如何工作的以及如何使用它。
什么是身份数组?
在进一步讨论之前,最好先澄清一下什么是身份数组。
同一性数组是指主对角线上有1的正方形数组。简单地说,一个身份数组是一个在主对角线上保留1的数组,而其余的元素都是0。

以上是一个身份数组的例子。
NumPy identity() 函数语法
该函数有一个简单的语法,如下所示。
numpy.identity(n, dtype=None, *, like=None)
函数参数
- n - 指的是输出数组的尺寸。顺序是行和列。
- 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形状的标识数组。