网站首页 > 基础教程 正文
Numpy 矩阵是一种特殊的二维数组,它遵循矩阵的数学运算规则,如矩阵乘法、求逆、求行列式等。Numpy 矩阵可以使用 numpy.matrix() 函数或者 np.mat() 函数来创建,也可以使用 numpy.asmatrix() 函数将一个数组转换为矩阵。Numpy 矩阵的元素类型可以是任意的,但是必须是同质的,即所有元素的类型必须相同。Numpy 矩阵的属性和方法与 Numpy 数组类似,但也有一些区别,例如:
- Numpy 矩阵的 shape 属性返回一个元组,表示矩阵的行数和列数。例如,一个 3 行 4 列的矩阵的 shape 是 (3, 4)。
- Numpy 矩阵的 dtype 属性返回一个对象,表示矩阵的元素类型。例如,一个整数矩阵的 dtype 是 np.int32。
- Numpy 矩阵的 ndim 属性返回一个整数,表示矩阵的维度数。对于任何矩阵,这个值都是 2。
- Numpy 矩阵的 size 属性返回一个整数,表示矩阵的元素总数。例如,一个 shape 为 (3, 4) 的矩阵的 size 是 。
- Numpy 矩阵的 itemsize 属性返回一个整数,表示矩阵中每个元素所占的字节数。例如,一个 dtype 为 np.int32 的矩阵的 itemsize 是 。
- Numpy 矩阵的 data 属性返回一个缓冲区对象,表示矩阵中实际存储数据的内存地址。一般不直接访问这个属性,而是通过索引或切片来获取或修改矩阵元素。
- Numpy 矩阵支持使用 * 运算符进行矩阵乘法,而不是数组乘法。如果要进行数组乘法,可以使用 multiply() 方法或者 np.multiply() 函数。
- Numpy 矩阵支持使用 ** 运算符进行矩阵幂运算,而不是数组幂运算。如果要进行数组幂运算,可以使用 power() 方法或者 np.power() 函数。
- Numpy 矩阵有一些专门针对矩阵运算的方法,如 getA() 返回矩阵的数组形式,getI() 返回矩阵的逆矩阵,getT() 返回矩阵的转置矩阵等。
以下是一些创建和操作 Numpy 矩阵的例子:
# 导入 numpy 模块
import numpy as np
# 创建一个 2 行 3 列的整数矩阵
A = np.matrix([[1, 2, 3], [4, 5, 6]])
print(A) # 输出 [[1 2 3] [4 5 6]]
print(A.shape) # 输出 (2, 3)
print(A.dtype) # 输出 int32
print(A.ndim) # 输出 2
print(A.size) # 输出 6
print(A.itemsize) # 输出 4
# 创建一个 3 行 2 列的浮点数矩阵
B = np.mat([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]])
print(B) # 输出 [[1.0 ,2.0] [3.0 ,4.0] [5.0 ,6.0]]
print(B.shape) # 输出 (3, 2)
print(B.dtype) # 输出 float64
print(B.ndim) # 输出 2
print(B.size) # 输出 6
print(B.itemsize) # 输出 8
# 将一个数组转换为矩阵
C = np.array([[1, 2], [3, 4]])
D = np.asmatrix(C)
print(D) # 输出 [[1 2] [3 4]]
print(type(D)) # 输出 <class 'numpy.matrix'>
# 使用矩阵乘法运算符 *
E = A * B
print(E) # 输出 [[22.0 ,28.0] [49.0 ,64.0]]
# 使用矩阵幂运算符 **
F = D ** 2
print(F) # 输出 [[ 7 10] [15 22]]
# 使用矩阵的方法
G = D.getA() # 返回矩阵的数组形式
print(G) # 输出 [[1 2] [3 4]]
print(type(G)) # 输出 <class 'numpy.ndarray'>
H = D.getI() # 返回矩阵的逆矩阵
print(H) # 输出 [[-2. ,1. ] [ 1.5 ,-0.5]]
I = D.getT() # 返回矩阵的转置矩阵
print(I) # 输出 [[1 3] [2 4]]
猜你喜欢
- 2024-10-12 矩阵运算库:Numpy 矩阵运算库不支持点乘
- 2024-10-12 Python 的整数与 Numpy 的数据溢出
- 2024-10-12 整理20个Pandas统计函数 pandas函数汇总
- 2024-10-12 一文搞定Pandas核心概念之Series pandas的两大核心
- 2024-10-12 人工智能深度学习基础——Numpy模块知识汇总
- 2024-10-12 关于类型为numpy,TensorFlow.tensor,torch.tensor的shape变化
- 2024-10-12 Numpy基础用法汇总 numpy基础及取值操作
- 2024-10-12 想学好Python数据分析,一定要掌握的重要模块之numpy
- 2024-10-12 numpy基础之ndarray的数据类型dtype
- 2024-10-12 Python数据分析笔记#5.1 Numpy-多维数组
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)