问题标签 [numexpr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
125 浏览

python - 带有'and'运算符的python numexp模块中的错误

我正在为 python 使用numexpr模块。我正在尝试运行下一个代码片段:

numexpr抛出以下错误:

但是,如果我在单独的表达式中提取冲突部分,它会起作用。

但这个想法是有一个单一的表达。有谁知道我可以如何重写这个公式以使其工作?

提前致谢。

0 投票
2 回答
343 浏览

python - 如何通过使用 numpy einsum 和 numexpr 计算核函数来提高性能?

我正在尝试为库中的svm.SVR方法定义一些著名的内核,例如 RBF、双曲正切、傅里叶等sklearn。我开始工作rbf(我知道 svm 中有一个用于 rbf 的默认内核,但我需要定义一个以便以后能够自定义它),并在这里找到了一些有用的链接并选择了这个:

我使用这个是因为我可以将它用于我的火车(形状为 [3850,4])和具有不同形状的测试数据(形状为 [1200,4])。但问题是它太慢了,我必须等待很长时间才能得到结果。我什至在 cython 中使用了静态类型和内存视图,但它的性能不如默认的svmrbf 内核。我还发现了这个链接,它是关于同样的问题,但是使用它numpy.einsum并且numexpr.evaluate对我来说有点困惑。事实证明,就速度性能而言,这是最好的代码:

从 scipy.linalg.blas 导入 sgemm

此代码仅适用于一个输入 (X),我找不到针对我的情况修改它的方法(两个输入具有两种不同的大小 - 内核函数获取形状为 (m,n) 和 (l,n) 的矩阵并根据svm docs输出 (m,l )。我想我只需要K[i,j] = np.exp(-1*np.linalg.norm(x-y)**2)在第二个代码中替换第一个代码即可加快速度。任何帮助将不胜感激。

0 投票
0 回答
271 浏览

python - 如何使用 numexpr 评估进行字符串比较?不是 df.eval

我正在尝试使用 Numexpr 来制作过滤器。当我尝试运行下一个代码片段时:

出于某种原因,我不能使用 df.eval('b=="one"')。也许我做错了。任何帮助,将不胜感激。

0 投票
1 回答
70 浏览

python - 函数没有返回正确的值,是否缺少任何东西

执行带有 的表达式时eval(),某些输入的输出是错误的。我认为不考虑十进制值。

我一直在尝试用 python 评估一个字符串,eval()也尝试过numexpr()

也试过这个

输入 3/2*5 预期输出 7.5 实际输出为 5

编辑:: 在 python3+ 中它可以工作。但我正在运行这个 python2.7

0 投票
1 回答
90 浏览

numexpr - NumExpr:如何在表达式中获取变量

我可以像这样评估 NumExpr 中的表达式

我怎样才能得到里面的变量列表和表达式,'17 == b'然后我会得到['b']

谢谢你。

0 投票
0 回答
60 浏览

python - 如何使 numxepr 与 complex64 一起运行?

我正在尝试执行此代码:

变量zq都是complex64类型,但 numexpr 返回complex128。有没有办法让它与complex64价值一起运作以提高性能?

0 投票
0 回答
2213 浏览

python - ImportError:无法确定 numexpr 的版本

运行后出现此错误:

我使用 Jupyter (Anaconda)。

这是我得到的完整错误:

它是在我更新我的 scikit-learn 之后开始的。我试过这个,我仍然有这个问题。我能做些什么来修复它?

0 投票
0 回答
146 浏览

python - 在对象方法中使用 Numexpr

我正在尝试使用 numexpr 优化一些面向对象的 numpy 代码,但我不确定是否可以这样做。无论哪种方式,我都无法在文档中找到任何内容。我想让下面的例子工作:

我查看了有关 numexpr 的其他一些答案,这些答案建议将local_dict参数作为将对象的变量集传递给 numexprevaluate函数的一种方式,但在这种情况下它似乎不起作用。我收到以下错误:

我假设如果我将所有内容都传递给外部函数,我可以让它工作,但是来回传递所有内容的开销似乎首先会破坏这种优化的目的。这可能吗?

0 投票
1 回答
90 浏览

python - 基于时间戳间隔重叠的数据帧相乘

我有两个熊猫数据框,每个数据框有两列:测量值和时间戳。我需要将测量值的一阶差相乘,但前提是两个测量间隔之间存在时间重叠。随着数据框的大小变大,我怎样才能有效地做到这一点?例子:

在这里,我会相乘,(100-125)*(145-140)因为间隔[04:44:49, 05:16:23]和之间存在时间重叠[00:13:17, 08:52:01],但没有(100-125)(120-145),因为没有时间重叠。同样,我也会有,(115-100)*(145-140)但也有(115-100)*(120-145),因为两者都有时间重叠。

最后,我必须将所有相关产品汇总为一个值,因此结果不必是数据框。在这种情况下:

我目前的解决方案:

尽管它似乎有效,但效率非常低,并且对于非常大的数据集变得不切实际。我相信它可以更有效地矢量化,也许使用numexpr,但我仍然没有找到方法。

编辑:其他数据

0 投票
1 回答
43 浏览

python - 将数学运算应用于 pandas 数据框的列时的问题

在 Jupyter Notebook 中,我试图将数据框的一列除以 10,但这是我得到的错误:

任何人都知道为什么会发生这种情况以及如何解决它。我怀疑是熊猫问题。