np.array和np.asarray区别

区别:np.array作为数据源时会占用内存创建副本,np.asarray除非必要否则不会创建副本。
联系:都可转化为np.adarray

例子:
生成一个矩阵

>>>A = numpy.matrix(np.ones((3,3)))
>>>A
matrix([[ 1., 1., 1.], [ 1., 1., 1.], [ 1., 1., 1.]])

使用numpy.array修改A:
由于修改的是随之创建的副本而并不起作用
>>> numpy.array(A)[2]=2
>>> A matrix([[ 1., 1., 1.], [ 1., 1., 1.], [ 1., 1., 1.]])

使用numpy.asarray修改A:
它工作,因为修改的是A本身
>>> numpy.asarray(A)[1]=2
` >>> A matrix([[ 1., 1., 1.], [ 2., 2., 2.] , [ 1., 1., 1.] ])

你可能感兴趣的:(np.array和np.asarray区别)