numpy数组,矩阵和列表之间的相互转换
2019-05-04 13:42
471 查看
版权声明:本版权归Strive Heisenberg所有。 https://blog.csdn.net/StriveHeisenberg/article/details/89812714
python中list,array,matrix之间经常相互转换。这些数据结构各有不同的数据处理方式和规则,所以必须对列表、数组和矩阵这些数据结构有基本的概念的同时还要熟练地在各种数据结构之间进行转换。
首先是列表转化为numpy的数组和矩阵,使用numpy中的array()和mat()函数就能轻易转换。python中type()函数查看对象的数据类型。
>>> import numpy as np >>> list_0 = [[1, 2, 3], [4, 5, 6]] >>> type(list_0) <class 'list'> >>> #列表转化为数组 >>> array_0 = np.array(list_0) >>> type(array_0) <class 'numpy.ndarray'> >>> #列表转化为矩阵 >>> matrix_0 = np.mat(list_0) >>> type(matrix_0) <class 'numpy.matrix'> >>> list_0 [[1, 2, 3], [4, 5, 6]] >>> array_0 array([[1, 2, 3], [4, 5, 6]]) >>> matrix_0 matrix([[1, 2, 3], [4, 5, 6]])
numpy中的数组和矩阵转换为列表需要注意用tolist()方法,如果用list()函数则会构造出一个新的列表,此列表的元素是原来的数组或矩阵了。
>>> matrix_1 = np.mat([[7, 8, 9], [0, 5, 3]]) >>> matrix_1 matrix([[7, 8, 9], [0, 5, 3]]) >>> #矩阵转化为数组 >>> array_1 = np.array(matrix_1) >>> array_1 array([[7, 8, 9], [0, 5, 3]]) >>> #矩阵转化为列表 >>> list_1 = matrix_1.tolist() >>> list_1 [[7, 8, 9], [0, 5, 3]] >>> list_1 = list(matrix_1) >>> list_1 [matrix([[7, 8, 9]]), matrix([[0, 5, 3]])]
>>> array_2 = np.array([[1, 5, 9], [3, 5, 7]]) >>> array_2 array([[1, 5, 9], [3, 5, 7]]) >>> #数组转化为矩阵 >>> matrix_2 = np.mat(array_2) >>> matrix_2 matrix([[1, 5, 9], [3, 5, 7]]) >>> #数组转化为列表 >>> list_2 = array_2.tolist() >>> list_2 [[1, 5, 9], [3, 5, 7]] >>> list_2 = list(array_2) >>> list_2 [array([1, 5, 9]), array([3, 5, 7])]
相关文章推荐
- Numpy数组和矩阵相互转换
- 一道面试题引发的集合、数组、列表之间相互转换
- Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
- python中列表,矩阵,数组之间的转换
- Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换
- List与数组之间的相互转换
- C#中List〈string〉和string[]数组之间的相互转换
- Java中字符数组、String类、StringBuffer三者之间相互转换
- js中字符串和数组的之间的相互转换
- java集合之间及数组相互转换方法
- 加圆角,Drawable,Bitmap,BitmapDrawable,字节数组之间的相互转换
- C#中List〈string〉和string[]数组之间的相互转换
- List、Set、Map、数组之间相互转换
- 关于数组和List之间相互转换的方法
- Java基本类型与byte数组之间相互转换
- C#中List〈string〉和string[]数组之间的相互转换-
- 字节、字符串、字节数组之间的相互转换
- Int型和byte数组,以及long型和byte数组之间的相互转换
- MFC中CString类字符串与长整型、浮点型、字符数组char数据之间的相互转换
- java中数组列表集合之间的转换