栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Numpy的array()和asarray()函数有什么区别?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Numpy的array()和asarray()函数有什么区别?

由于将其他问题重定向到这个询问问题

asanyarray
或其他数组创建例程的问题,因此可能有必要简要概述每个问题的作法。

区别主要在于何时返回不变的输入,而不是将新数组作为副本。

array
提供多种选择(其他大多数功能都围绕着薄包装纸),包括用于确定何时复制的标志。完整的解释将和文档一样长(请参阅Array
Creation
,但是简要地,这里有一些示例:

假设

a
ndarray
,并且
m
matrix
,他们都拥有
dtype
float32

  • np.array(a)
    并且
    np.array(m)
    将复制两个,因为这是默认行为。
  • np.array(a, copy=False)
    并且
    np.array(m, copy=False)
    将复制
    m
    而不是
    a
    ,因为
    m
    不是一个
    ndarray
  • np.array(a, copy=False, subok=True)
    ,并且
    np.array(m, copy=False, subok=True)
    不会复制任何内容,因为
    m
    matrix
    ,这是的子类
    ndarray
  • np.array(a, dtype=int, copy=False, subok=True)
    将同时复制两者,因为与
    dtype
    不兼容。

其他大多数功能都是

array
在复制发生时围绕该控件的薄包装器:

  • asarray
    :如果兼容
    ndarray
    copy=False
    ),则输入将返回未复制的状态。
  • asanyarray
    :如果输入是兼容
    ndarray
    或子类
    matrix
    (如
    copy=False
    subok=True
    ),则输入将不复制就返回。
  • ascontiguousarray
    :如果输入是兼容
    ndarray
    的连续C顺序(
    copy=False
    ,,则将返回未复制的输入)
    order='C')
  • asfortranarray
    :当且仅当它是一个兼容的输入将被返回未复制
    ndarray
    在连续的Fortran顺序(
    copy=False
    order='F'
    )。
  • require
    :如果输入与指定的要求字符串兼容,则输入将不复制而返回。
  • copy
    :总是复制输入。
  • fromiter
    :输入被视为可迭代的(例如,您可以从迭代器的元素构造一个数组,而不是
    object
    使用迭代器的数组);始终复制。

还有一些便利功能,例如

asarray_chkfinite
(与复制规则相同
asarray
,但复制规则与相同,但
ValueError
如果有
nan
inf
值,则会提高),以及子类的构造函数(例如
matrix
或特殊情况下的记录数组),当然还有实际的
ndarray
构造函数(可让您直接创建数组)超出缓冲区)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/637890.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号