numpy.eye(N, M=None, k=0, dtype=<class 'float'>, order='C')
描述
返回一个二维数组,对角线上为1,其他地方为0
参数
N : int
输出的行数
M : int, optional
输出中的列数。如果为None,默认为N
k : int, optional
对角线索引:0(默认)表示主对角线,正值表示上对角线,负值表示下对角线。
d : type,data-type, optional
返回数组的数据类型
order : {‘C’, ‘F’}, optional
在内存中,输出应该按行主要(c风格)还是列主要(fortran风格)顺序存储
返回
I : ndarray of shape (N,M)
一个数组,其中所有元素均等于零(第k个对角线除外,其值等于1)
np.eye(2, dtype=int)
array([[1, 0],
[0, 1]])
np.eye(3, k=1)
array([[0., 1., 0.],
[0., 0., 1.],
[0., 0., 0.]])
numpy.diag(v, k=0)
描述
提取对角线或构造对角线数组
参数
v : array_like
如果v是二维数组,则返回其第k个对角线的副本。
如果v是一维数组,则返回一个二维数组,其中v在第k个对角线上
k : int, optional
对角线。默认值为0。使用k>0为主对角线以上的对角线,和k<0为主对角线以下的对角线
返回
提取的对角线数组或构造对角线数组
x = np.arange(9).reshape((3,3))
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
np.diag(x)
array([0, 4, 8])
np.diag(x, k=1)
array([1, 5])
np.diag(x, k=-1)
array([3, 7])
np.diag(np.diag(x))
array([[0, 0, 0],
[0, 4, 0],
[0, 0, 8]])
numpy.tile(A, reps)
描述
通过重复由reps给出的次数来构造一个数组
虽然可以使用tile进行广播,但强烈建议使用numpy的广播操作和函数
参数
A : array_like
输入数组
reps : array_like
A在每个轴上重复的次数
返回
数组
a = np.array([0, 1, 2])
np.tile(a, 2)
array([0, 1, 2, 0, 1, 2])
np.tile(a, (2, 2))
array([[0, 1, 2, 0, 1, 2],
[0, 1, 2, 0, 1, 2]])
np.tile(a, (2, 1, 2))
array([[[0, 1, 2, 0, 1, 2]],
[[0, 1, 2, 0, 1, 2]]])
b = np.array([[1, 2], [3, 4]])
np.tile(b, 2)
array([[1, 2, 1, 2],
[3, 4, 3, 4]])
np.tile(b, (2, 1))
array([[1, 2],
[3, 4],
[1, 2],
[3, 4]])