Python NumPy 函数:创建特殊二维数组
Python NumPy 函数:创建特殊二维数组
NumPy 库提供了丰富的函数来创建各种类型的数组,其中一些函数可以用来创建特殊的二维数组。本文将介绍其中几个常用的函数。
1. numpy.zeros(shape, dtype=float, order='C')
这个函数可以创建一个所有元素都为0的二维数组。
- shape 参数指定了数组的形状,例如 (3, 4) 表示一个 3 行 4 列的二维数组。
- dtype 参数指定了数组元素的数据类型,默认值为 float。
- order 参数指定了数组在内存中的存储方式,'C' 表示行优先,'F' 表示列优先,默认为 'C'。
示例:
import numpy as np
arr = np.zeros((3, 4))
print(arr)
输出:
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
2. numpy.ones(shape, dtype=float, order='C')
这个函数可以创建一个所有元素都为1的二维数组。参数意义和 zeros 函数相同。
示例:
import numpy as np
arr = np.ones((3, 4))
print(arr)
输出:
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
3. numpy.eye(N, M=None, k=0, dtype=float, order='C')
这个函数可以创建一个单位矩阵。
- N 和 M 参数指定了矩阵的形状,默认情况下 M 等于 N。
- k 参数指定了对角线的偏移量,默认为 0,表示主对角线。正数表示上移,负数表示下移。
- dtype 参数指定了矩阵元素的数据类型,默认值为 float。
- order 参数指定了矩阵在内存中的存储方式,'C' 表示行优先,'F' 表示列优先,默认为 'C'。
示例:
import numpy as np
arr = np.eye(3)
print(arr)
输出:
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
4. numpy.diag(v, k=0)
这个函数可以创建一个以 v 数组为对角线元素的对角矩阵。
- v 参数指定了对角线元素的数组。
- k 参数指定了对角线的偏移量,默认为 0,表示主对角线。正数表示上移,负数表示下移。
示例:
import numpy as np
arr = np.diag([1, 2, 3])
print(arr)
输出:
[[1 0 0]
[0 2 0]
[0 0 3]]
5. numpy.random.rand(d0, d1, ..., dn)
这个函数可以创建一个形状为 (d0, d1, ..., dn) 的随机数数组,数组元素的值在 [0, 1) 之间服从均匀分布。
示例:
import numpy as np
arr = np.random.rand(3, 4)
print(arr)
输出:
[[0.15061346 0.3790398 0.82797875 0.79361237]
[0.27148452 0.15215114 0.19934494 0.92872843]
[0.19908399 0.30834948 0.31141004 0.11359906]]
6. numpy.random.randn(d0, d1, ..., dn)
这个函数可以创建一个形状为 (d0, d1, ..., dn) 的随机数数组,数组元素的值服从标准正态分布。
示例:
import numpy as np
arr = np.random.randn(3, 4)
print(arr)
输出:
[[ 1.22390987 1.02579362 0.64065954 -0.02666373]
[-0.78563885 -0.76580728 1.21787301 0.22676117]
[ 0.21439394 1.32388215 -0.58455457 0.33462304]]
除了以上介绍的函数之外,NumPy 还提供了其他一些函数来创建特殊二维数组,例如:
- numpy.full(shape, fill_value, dtype=None, order='C'):创建所有元素都为指定值的二维数组。
- numpy.empty(shape, dtype=float, order='C'):创建形状为 shape 的未初始化的二维数组。
- numpy.arange(start, stop, step):创建一个等差数列的二维数组。
- numpy.linspace(start, stop, num):创建一个等间隔的二维数组。
以上函数可以方便地创建各种类型的二维数组,为后续的矩阵运算提供了基础。
原文地址: https://www.cveoy.top/t/topic/oSmA 著作权归作者所有。请勿转载和采集!