Single

numpy中array方法和asarray方法的区别

可以将numpy.asarray理解为numpy.array的一种简要使用方式,从numpy.asarray的定义可知:

def asarray(a, dtype=None, order=None):

    return array(a, dtype, copy=False, order=order)

numpy.asarray和numpy.array的返回值是相同的,即ndarray,且功能大致相同,即将例如列表,元组等转换为numpy的数组类型。

不同之处在于asarray方法中copy=False,而array方法中copy=True,虽然有这样不同,但是实际使用中由于通常是使用变量来保存新生成的结果,因此copy是否为True和False差别不大。

例如:

 >>> import numpy
 >>> a=[1,2,3]
 >>> b=numpy.array(a)
 >>> c=numpy.asarray(a)
 >>> b
 array([1, 2, 3])
 >>> c
 array([1, 2, 3])
 >>> type(b)
 <type 'numpy.ndarray'>
 >>> type(c)
 <type 'numpy.ndarray'>

从结果来看,变量b和c从类型和值来看都是相同的,因此编程中不会影响科学计算。

暂无评论

发表评论