numpy的array()
和asarray()
函数之间有什么区别?什么时候你应该用一个而不是另一个?它们似乎为我能想到的所有输入生成相同的输出。
由于其他问题被html" target="_blank">重定向到关于asanyarray
或其他数组创建例程的问题上,因此可能有必要对它们各自的工作做一个简短的总结。
不同之处主要在于何时返回不变的输入,而不是将一个新数组作为副本。
array
提供了各种各样的选项(大多数其他函数都是围绕它的简单包装),包括用于确定何时复制的标志。一个完整的解释需要和文档一样长的时间(请参见数组创建,但简要地说,这里有一些示例:
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
是矩阵
,它是ndarray
的子类。np.array(a,DTYPE=int,copy=FALSE,SUBOK=TRUE)
将复制这两个文件,因为DTYPE
不兼容。大多数其他函数都是array
的薄包装,当发生复制时可以控制:
asarray
:如果输入是兼容的ndarray
(copy=false
),则将未复制地返回输入。asanyarray
:如果输入是兼容的ndarray
或类似于matrix
的子类(copy=false
,subok=true
),则将不复制地返回输入。AsContiguousArray
:如果输入是以连续C顺序(copy=false
,order='C')
兼容的ndarray
,则将未复制地返回输入。asForTranArray
:如果输入是以连续Fortran顺序(copy=false
,order='f'
)兼容的ndarray
,则将未复制地返回输入。require
:如果输入与指定的要求字符串兼容,则将未复制地返回该输入。复制
:始终复制输入。fromiter
:输入被视为可迭代的(因此,例如,您可以从迭代器的元素构造数组,而不是用迭代器构造object
数组);始终复制。还有一些方便的函数,如asarray_chkfinite
(复制规则与asarray
相同,但如果有任何nan
或inf
值,则会引发valueerr
);还有一些用于子类的构造函数,如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