太原学网站开发的学校,小企业网站建设有什么用,asp.net获取网站地址,南京建设银行网站Python库numpy之三 # NumPy数组创建函数二维数组创建函数numpy.eye应用例子numpy.diag应用例子numpy.vander应用例子 # NumPy数组创建函数
二维数组创建函数
numpy.eye
词法#xff1a;numpy.eye(N, MNone, k0, dtypeclass ‘float’, order‘C’, *, deviceNone, … Python库numpy之三 # NumPy数组创建函数二维数组创建函数numpy.eye应用例子numpy.diag应用例子numpy.vander应用例子 # NumPy数组创建函数
二维数组创建函数
numpy.eye
词法numpy.eye(N, MNone, k0, dtypeclass ‘float’, order‘C’, *, deviceNone, likeNone)
numpy.eye产生一个二维数组对角线上的值为 1其他位置的值为0。
变量说明 N该参数类型是int N是输出二维数组的行数 M该参数类型是int, 是可选的 M是输出二维数组的列数。如果None则默认为参数N k该参数类型是int, 是可选的 对角线索引 0表示主对角线 正值表示上对角线 负值表示下对角线。 dtype该参数类型是data-type, 是可选的 返回数组的数据类型 order该参数类型是{‘C’, ‘F’}, 是可选的 输出数组的存储方式 ‘C’以行优先顺序存储在内存中C 风格 ’F‘以列优先顺序存储在内存中Fortran 风格 device该参数类型是字符串, 是可选的 用于放置创建的阵列的设备。默认值None。 仅适用于 Array-API 互操作性因此如果通过则必须为“cpu”。 like该参数类型是array_like, 是可选的 允许创建非 NumPy 数组的引用对象。如果以参数like传入的数组支持 array_function 协议则结果将由它定义。在这种情况下它确保创建一个与通过此参数传入的数组对象兼容的数组对象。
应用例子
import numpy as npif __name__ __main__:m0 np.eye(2, dtypeint)m1 np.eye(4, k0)m2 np.eye(4, k1)m3 np.eye(4, k-1)print(m0)print(-*-*8)print(m1)print(-*-*8)print(m2)print(-*-*8)print(m3)程序运行的屏幕输出
[[1 0][0 1]]
-*--*--*--*--*--*--*--*-
[[1. 0. 0. 0.][0. 1. 0. 0.][0. 0. 1. 0.][0. 0. 0. 1.]]
-*--*--*--*--*--*--*--*-
[[0. 1. 0. 0.][0. 0. 1. 0.][0. 0. 0. 1.][0. 0. 0. 0.]]
-*--*--*--*--*--*--*--*-
[[0. 0. 0. 0.][1. 0. 0. 0.][0. 1. 0. 0.][0. 0. 1. 0.]]numpy.diag
词法numpy.diag(v, k0) numpy.diag提取对角线或构造对角线数组。 v该参数类型是类数组 如果 v 是二维数组则返回其第 k 个对角线的副本。如果 v 是一维数组则返回 v 在第 k 对角线上的二维数组。 k该参数类型是int, 是可选的
应用例子
import numpy as npif __name__ __main__:x np.arange(9).reshape((3,3))y np.diag(x)z np.diag(y) print(x)print(-*- * 8)print(y)print(-*- * 8)print(z)x1 np.arange(16).reshape((4,4))y1 np.diag(x1, k1)z1 np.diag(x1, k0)print(-*- * 8)print(x1)print(-*- * 8)print(y1)print(-*- * 8)print(z1)程序运行的屏幕输出
C:\python numpy_6.py
[[0 1 2][3 4 5][6 7 8]]
-*--*--*--*--*--*--*--*-
[0 4 8]
-*--*--*--*--*--*--*--*-
[[0 0 0][0 4 0][0 0 8]]
-*--*--*--*--*--*--*--*-
[[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11][12 13 14 15]]
-*--*--*--*--*--*--*--*-
[ 1 6 11]
-*--*--*--*--*--*--*--*-
[ 0 5 10 15]numpy.vander
词法numpy.vander(x, NNone, increasingFalse)
生成范德蒙矩阵。
输出矩阵的列是输入向量的幂。幂的顺序由递增布尔参数决定。具体来说当increase为False时第i个输出列是输入向量按元素求N - i - 1次方。这种每行都呈几何级数的矩阵就是范德蒙。
x该参数类型是类数组N该参数类型是int, 是可选的increasing该参数类型是bool, 是可选的
应用例子
import numpy as npif __name__ __main__:arr np.array([1, 2, 3, 5])m1 np.vander(arr, N3)m2 np.vander(arr)m3 np.vander(arr, N3, increasingTrue)print(arr)print(-*- * 8)print(m1)print(-*- * 8)print(m2)print(-*- * 8)print(m3)C:\python numpy_7.py
[1 2 3 5]
-*--*--*--*--*--*--*--*-
[[ 1 1 1][ 4 2 1][ 9 3 1][25 5 1]]
-*--*--*--*--*--*--*--*-
[[ 1 1 1 1][ 8 4 2 1][ 27 9 3 1][125 25 5 1]]
-*--*--*--*--*--*--*--*-
[[ 1 1 1][ 1 2 4][ 1 3 9][ 1 5 25]]