matrix.copy()
和np.copy(matrix)
二者都可用于复制matrix,但是前者复制后得到的数据格式是matrix,后者得到的是array
from numpy import * #导入numpy的库函数
import numpy as np #这个方式使用numpy的函数时,需要以np.开头。
a=np.mat('1 2; 3 4')
b = a.copy()
c = np.copy(a)
print(type(a))
print(type(b))
print(type(c))
运行结果:
(由下图可知,两种复制方式得出的数据格式是不同的,下面将进一步介绍这些格式间的差别)
matrix和array的具体差别
1、matrix是矩阵、array是数组。
2、matrix必须是二维。
3、array的就是对应元素相乘,如果行或列数不匹配会自动补全。
array想要实现矩阵相乘,使用np.dot(array1, array2)
4、matrix的就是矩阵相乘。
matrix想要实现对应元素相乘,使用np.multiply(mat1, mat2)内容复制于:python中list和numpy中array,matrix的全面辨析_Liven_Zhu的博客-CSDN博客
list 与 array、matrix的区别
1、list是Python中的普通列表对象,支持append和attend操作,没有shape属性;array和matrix是numpy数据库中的对象,不支持append和attend操作,具有shape属性。
2、一个list中可以存放不同类型的数据,如int、float、str,或者布尔型;而array和matrix中只能存放相同类型的数据。
3、list不支持乘法操作;array和matrix支持乘法操作。
4、list对象不支持一次性读取一行或一列,只能通过指针进行元素的索引;array和matrix即支持一次性读取一行或一列,也支持通过指针来进行元素的索引。内容复制于:python中list和numpy中array,matrix的全面辨析_Liven_Zhu的博客-CSDN博客
matrix和array处理方法
如果一个程序里面既有matrix 又有array,会让人脑袋大。但是如果只用array,你不仅可以实现matrix所有的功能,还减少了编程和阅读的麻烦。
当然你可以通过下面的两条命令轻松的实现两者之间的转换:
np.asmatrix
和np.asarray
对我来说,numpy 中的array与numpy中的matrix,matlab中的matrix的最大的不同是,在做归约运算时,array的维数会发生变化,但matrix总是保持为2维。