Python/Numpy之矩阵与数组列表转换
numpy
矩阵数组、列表相比较
- 对比“矩阵数组”与“列表”,“矩阵数组”一般指基于
numpy
的,由于numpy
对其专门优化,因此速度很快,“列表”数python 内置的数据类型,通过嵌套也可以存储多维数据。- 数组中对元素的数据类型有同一性要求,列表则相对宽松
numpy
的矩阵matrix
是数组array
的分支,matrix
的优势是对于矩阵操作相对简单a * b
即矩阵乘法计算,对应数组则需np.dot(a,b)
,除此之外还有一系列的矩阵操作,如转置、共轭等。matrix
是二维的,array
是多维的。
1.列表⇋ 数组⇋ 矩阵
import numpy as np
注:查看数据data
的类型type(data)
(1)列表 → \rightarrow → 数组, 矩阵
使用
np.array(list)、np.mat(list)
方式转化,二者的转化结果略有差异,见示例
- 列表转化为数组:
array = np.array(list)
- 列表转化为矩阵:
matrix = np.mat(list)
(2)列表 ← \leftarrow ← 数组, 矩阵
使用
tolist()
- 数组转化为列表:
list = array.tolist()
- 矩阵转化为列表:
list = matrix.tolist()
(3)numpy
矩阵⇋数组之间转换
- 矩阵转换为数组:
array = np.array(matrix)
- 数组转换为矩阵:
matrix = np.mat(array)