问题标签 [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.
python - 带有'and'运算符的python numexp模块中的错误
我正在为 python 使用numexpr模块。我正在尝试运行下一个代码片段:
但numexpr
抛出以下错误:
但是,如果我在单独的表达式中提取冲突部分,它会起作用。
但这个想法是有一个单一的表达。有谁知道我可以如何重写这个公式以使其工作?
提前致谢。
python - 如何通过使用 numpy einsum 和 numexpr 计算核函数来提高性能?
我正在尝试为库中的svm.SVR
方法定义一些著名的内核,例如 RBF、双曲正切、傅里叶等sklearn
。我开始工作rbf
(我知道 svm 中有一个用于 rbf 的默认内核,但我需要定义一个以便以后能够自定义它),并在这里找到了一些有用的链接并选择了这个:
我使用这个是因为我可以将它用于我的火车(形状为 [3850,4])和具有不同形状的测试数据(形状为 [1200,4])。但问题是它太慢了,我必须等待很长时间才能得到结果。我什至在 cython 中使用了静态类型和内存视图,但它的性能不如默认的svm
rbf 内核。我还发现了这个链接,它是关于同样的问题,但是使用它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)
在第二个代码中替换第一个代码即可加快速度。任何帮助将不胜感激。
python - 如何使用 numexpr 评估进行字符串比较?不是 df.eval
我正在尝试使用 Numexpr 来制作过滤器。当我尝试运行下一个代码片段时:
出于某种原因,我不能使用 df.eval('b=="one"')。也许我做错了。任何帮助,将不胜感激。
python - 函数没有返回正确的值,是否缺少任何东西
执行带有 的表达式时eval()
,某些输入的输出是错误的。我认为不考虑十进制值。
我一直在尝试用 python 评估一个字符串,eval()
也尝试过numexpr()
也试过这个
输入 3/2*5 预期输出 7.5 实际输出为 5
编辑:: 在 python3+ 中它可以工作。但我正在运行这个 python2.7
numexpr - NumExpr:如何在表达式中获取变量
我可以像这样评估 NumExpr 中的表达式
我怎样才能得到里面的变量列表和表达式,'17 == b'
然后我会得到['b']
谢谢你。
python - 如何使 numxepr 与 complex64 一起运行?
我正在尝试执行此代码:
变量z
和q
都是complex64
类型,但 numexpr 返回complex128
。有没有办法让它与complex64
价值一起运作以提高性能?
python - ImportError:无法确定 numexpr 的版本
运行后出现此错误:
我使用 Jupyter (Anaconda)。
这是我得到的完整错误:
它是在我更新我的 scikit-learn 之后开始的。我试过这个,我仍然有这个问题。我能做些什么来修复它?
python - 在对象方法中使用 Numexpr
我正在尝试使用 numexpr 优化一些面向对象的 numpy 代码,但我不确定是否可以这样做。无论哪种方式,我都无法在文档中找到任何内容。我想让下面的例子工作:
我查看了有关 numexpr 的其他一些答案,这些答案建议将local_dict
参数作为将对象的变量集传递给 numexprevaluate
函数的一种方式,但在这种情况下它似乎不起作用。我收到以下错误:
我假设如果我将所有内容都传递给外部函数,我可以让它工作,但是来回传递所有内容的开销似乎首先会破坏这种优化的目的。这可能吗?
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
,但我仍然没有找到方法。
编辑:其他数据
python - 将数学运算应用于 pandas 数据框的列时的问题
在 Jupyter Notebook 中,我试图将数据框的一列除以 10,但这是我得到的错误:
任何人都知道为什么会发生这种情况以及如何解决它。我怀疑是熊猫问题。