在 Python 中,一个空矩阵指的是没有任何行和列的矩阵。作为用于数值计算的强大库,NumPy 提供了多种方法来创建具有特定属性的矩阵,例如未初始化值、零值、NaN(非数字)或全 1 矩阵。下面我们将介绍使用 NumPy 创建空矩阵或预定义矩阵的不同方法。
使用 numpy.empty()
我们可以使用 numpy.empty() 函数来创建一个不初始化其值的数组。这意味着矩阵的内容将是随意的,取决于创建时的内存状态。当我们优先考虑性能,并且计划稍后覆盖矩阵中的值时,这非常有用。
Python
CODEBLOCK_c74d89f7
Output
Empty Matrix: []
Shape of matrix: (0, 5)
Data type of matrix: float64
解释: 这段代码创建了一个具有零行五列的空矩阵。由于没有行,输出是一个空列表 []。矩阵的形状是 (0, 5),意味着它有零行五列。默认情况下,元素的数据类型 (dtype) 是 float64。
目录
- 使用 numpy.zeros()
- 使用 numpy.full()
- 使用 numpy.ones()
使用 numpy.zeros()
我们可以使用 numpy.zeros() 函数创建一个所有元素都初始化为零的矩阵。当我们需要默认值为零的矩阵时,这非常有用,常用于在机器学习中初始化权重矩阵或在计算中作为占位数组。
Python
CODEBLOCK_4702531c
Output
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
解释: 这创建了一个 5×3 的矩阵,所有元素都设置为 0。默认数据类型是 float64,但我们可以使用 dtype 参数来更改它。
使用 numpy.full()
我们可以使用 numpy.full() 函数创建一个所有元素都初始化为指定值的矩阵。当我们需要一个具有常量值的矩阵时,这很有用,例如使用 NaN(非数字)来表示缺失数据。
Python
CODEBLOCK_9399d947
Output
[[nan nan nan nan]
[nan nan nan nan]
[nan nan nan nan]
[nan nan nan nan]]
解释: 这创建了一个 4×4 的矩阵,所有元素均为 NaN,非常适合处理数据集中的缺失值。
使用 numpy.ones()
我们可以使用 numpy.ones() 函数创建一个所有元素都初始化为 1 的矩阵。它适用于我们需要默认非零矩阵的场景,例如神经网络中的偏置初始化。
Python
CODEBLOCK_548a95ea
Output
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
解释: 这创建了一个 3×3 的矩阵,所有元素均为 1.0,默认存储为 float64。