Numpyarray()
和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
构造函数(可让您直接创建数组)超出缓冲区)。
numpy的和函数之间有什么区别?什么时候你应该用一个而不是另一个?它们似乎为我能想到的所有输入生成相同的输出。
问题内容: 和Numpy有什么区别?我在哪里可以找到numpy源代码中的实现? 问题答案: 只是创建一个便利函数; 它本身不是类。 您也可以使用创建数组,但不建议这样做。来自以下文档的字符串: 阵列应该使用来构造,或…这里给出的参数是指低级方法(用于实例化阵列)。 实现的大部分内容都在C代码中(在multiarray中),但是您可以在这里开始查看ndarray接口: https://github.
Numpy中的和之间有什么区别?我在哪里可以找到numpy源代码中的实现?
这两个函数返回相同的列表。那么两个不同的功能执行相同的工作需要什么。
问题内容: 作者:霖呆呆 Array(3)和Array(3, 4)的区别? 考察知识点: 和 参数个数不同时的不同表现 的作用 问题答案: Array和new Array的执行结果一样 Array(3) => [empty x3] 一个参数的时候创建一个长度为3的空数组 Array(3, 4) => [3, 4] 大于一个参数的时候则把参数作为元素创建一个长度可变数组 Array.of(3) =>
问题内容: 在Python中,和之间有什么区别? 我猜想 load() 函数必须与文件对象一起使用(因此,我需要使用上下文管理器),而 load() 函数将文件路径作为字符串。这有点令人困惑。 字母“ s ” 代表 字符串 吗? 非常感谢你的回答! 问题答案: 是的,代表字符串。该函数不采用文件路径,而是将文件内容作为字符串。查看位于https://docs.python.org/2/librar