NumPy包含一个矩阵库NumPy.matlib,这个模块的函数用于处理矩阵而不是ndarray对象。
NumPy中,ndarray数组可以是n维的,与此不同,矩阵总是二维的,但这两种对象可以相互转换。
matlib.empty()
empty()函数返回一个新的矩阵,但不会初始化矩阵元素。
numpy.matlib.empty(shape, dtype, order)shape 定义新矩阵形状的int或int的元组
dtype 可选,指定矩阵数据类型
order C 或 F
示例
import numpy.matlib
import numpy as np
a = np.matlib.empty((2,2))
print (a)
输出
[[6.91241356e-310 1.37748664e-316]
[6.91240378e-310 6.91240378e-310]]
可以看到,矩阵元素都是随机值。
numpy.matlib.zeros()
zeros()函数返回一个新的矩阵,矩阵元素被初始化为0。
示例
import numpy.matlib
import numpy as np
a = np.matlib.zeros((2,2))
print (a)
输出
[[ 0. 0.]
[ 0. 0.]]
numpy.matlib.ones()
zeros()函数返回一个新的矩阵,矩阵元素被初始化为1。
示例
import numpy.matlib
import numpy as np
a = np.matlib.zeros((2,2))
print (a)
输出
[[ 1. 1.]
[ 1. 1.]]
numpy.matlib.eye()
eye()函数返回一个矩阵,对角线上的元素都是1,其它地方都是0。该函数接受以下参数。
numpy.matlib.eye(n, M, k, dtype)n 返回矩阵中的行数
M 列数,默认为n
k 对角线的开始索引
dtype 矩阵的数据类型
示例
import numpy.matlib
import numpy as np
print('对角线的开始索引为0:')
print(np.matlib.eye(n = 3, M = 4, k = 0, dtype = float))
print('\n')
print('对角线的开始索引为1:')
print(np.matlib.eye(n = 3, M = 4, k = 1, dtype = float))
print('\n')
输出
对角线的开始索引为0:
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]]
对角线的开始索引为1:
[[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]]
numpy.matlib.identity()
identity()函数返回指定大小的单位矩阵。单位矩阵是一个所有对角元素都为1的方阵。
示例
import numpy.matlib
import numpy as np
print (np.matlib.identity(5, dtype = float))
输出
[[ 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.]]
```
## numpy.matlib.rand()
`rand()`函数返回一个指定大小的矩阵,其中填充随机值。
**示例**
```python
import numpy.matlib
import numpy as np
print (np.matlib.rand(3,3))
输出
[[0.5413199 0.5749519 0.19755942]
[0.57128833 0.24267348 0.65186677]
[0.08517 0.9238393 0.15061818]]Python Numpy 教程 | 奇客谷教程www.qikegu.com
章节Numpy 介绍
Numpy 安装
NumPy ndarray
NumPy 数据类型
NumPy 数组创建
NumPy 基于已有数据创建数组
NumPy 基于数值区间创建数组
NumPy 数组切片
NumPy 广播
NumPy 数组迭代
NumPy 位运算
NumPy 字符串函数
NumPy 数学函数
NumPy 统计函数
NumPy 排序、查找、计数
NumPy 副本和视图
NumPy 矩阵库函数
NumPy 线性代数