- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在 python numexpr 中将值分配给您正在操作的同一数组以避免创建临时数组是否安全?
来自 project homepage 上的内存使用说明看起来不错,但如果不深入研究源代码,这几乎不是一个可靠的答案。
我尝试了以下工作正常,但我希望得到更熟悉这个包的人的确认:
import numpy as np
import numexpr as ne
a = np.ones(5)
b = a.copy()
ne.evaluate("a+b",out=a)
array([ 2., 2., 2., 2., 2.])
最佳答案
它可以工作,因为 numexpr 仍然在内部使用临时数组,尽管 block 大小为 1024 个元素(如果使用 VML,则为 4096 个)。您可以将这些输入 block 视为切片,尽管它们在评估期间存储为适当的 C 数据类型以提高速度和内存紧凑性。每一个chunk计算完成后,结果会存入out参数,否则必须分配一个与输入大小相同的数组。
查看 Why It Works 部分用于 numexpr 如何评估矢量化算术的伪代码。
关于python - numexpr.evaluate ("a+b",out=a),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15420213/
我需要在大约一千万点处评估 BesselK 函数。我知道scipy.special支持此为 scipy.special.kv(n, x) ,但我想要更快的评估以及内存有效的评估。理想的numexpr会
我过去在很多机器上成功安装了 numexpr。但现在我实在无法应付使其在新的 Linux 系统上运行。本质上我下载了 tar.gz 文件并且 python setup.py install --hom
我正在尝试执行以下操作: import numexpr as ne a = np.random.rand(10, 1) b = np.random.rand(1, 10) ne.NumExpr('su
我想评估 python (2.7) 中 numexpr 模块的性能。为此,我创建了一个大小为 (10^5, 10^5) 的随机稀疏矩阵。但是,下面的脚本已经在表达式求值步骤中抛出错误,表示它无法识别对
我正在使用 sympy 进行一些符号数学运算,然后使用 eval 和 sympy 的 lambdastr 实用程序生成 Python lambda 函数。这是我的意思的一个简化示例: import s
我需要使用 numexpr 重写这段代码,它正在计算矩阵数据 [行 x 列] 和向量 [1 x 列] 的欧几里德范数矩阵。 d = ((data-vec)**2).sum(axis=1) 如何实现?或
我正在尝试在 numexpr 表达式中使用对象属性。最明显的做法是: import numpy as np import numexpr as ne class MyClass: def __
如何使用 numexpr 有效地表达以下内容? z = min(x-y, 1.0) / (x+y) 这里,x 和y 是一些相同形状的大型 NumPy 数组。 换句话说,在除以 x+y 之前,我试图将
在 python numexpr 中将值分配给您正在操作的同一数组以避免创建临时数组是否安全? 来自 project homepage 上的内存使用说明看起来不错,但如果不深入研究源代码,这几乎不是一
在 Windows 10 Python 3.7.9 (IDLE) 上,我成功安装了“pip install numexpr”,但在“import numexpr as ne”时出现错误: 回溯(最近调
我在 Windows 7 机器上通过 pip 安装 numexpr 包: pip list | grep numexpr numexpr (2.4.6) 但是当我打开 ipython 并尝试使用 df
考虑以下 dtype float32 的 NumPy 数组: In [29]: x = numpy.arange(10, dtype=numpy.float32) 当我使用pytables.Expr将
我刚刚开始使用 numexpr,虽然 github 存储库似乎有一些如何使用它的基本示例,但我无法清楚地理解它们如何应用于某些复杂的情况。假设我有一个函数: def func(x): #x is
我在安装 numexpr 以安装 PyTables 时遇到问题,因此我可以处理大量数据集。 构建细节:Windows 7 专业版 64 位、Python 2.7、numexpr 2.01、numpy
我一直在尝试学习 Numexpr包裹。关于如何使用它的例子充其量是稀疏的。有人可以给我一个关于如何使用“local_dict”和“global_dict”参数的简单示例吗? 最佳答案 下面的例子可能会
我对 NumPy 据说是对其算术数组操作进行矢量化的概念感到有点挣扎:它是否克服了 Python 的 GIL,因为 NumPy 的一部分是用 C 实现的?另外,Numexpr 是如何工作的呢?如果我理
我正在尝试使用 numexpr 加速 lambdify 生成的一些数字代码。不幸的是,基于numexpr 的函数在使用sqrt 函数时会中断,即使它是supported functions 之一。 .
由于 NumPy 不使用多核,我正在学习使用 NumExpr 加速 NumPy 代码,因为它对多线程有很好的支持。下面是我正在使用的示例: # input array to work with x =
测试代码: import numpy as np import pandas as pd COUNT = 1000000 df = pd.DataFrame({ 'y': np.random.
我正在尝试创建一个较小的,分层的样本,以减少处理时间。 运行此代码: df_strat= stratified_sample(df, ["Parental Status","Gender", "Age
我是一名优秀的程序员,十分优秀!