python - Pytables NumExpr 值错误 : too many inputs when querying with a lot of conditions

标签 python pytables numexpr

当使用 where 方法传递具有 50 个条件的字符串查询 pytables 表时,我遇到此错误。这些条件基本上是 SQL IN 子句的翻译,即我想要获取特定字段等于特定值列表的记录。

C:\Python2764\lib\site-packages\numexpr\necompiler.pyc in evaluate(ex, local_dict, global_dict, out, order, casting, **kwargs)
    744     kwargs = {'out': out, 'order': order, 'casting': casting,
    745               'ex_uses_vml': ex_uses_vml}
--> 746     return compiled_ex(*arguments, **kwargs)

ValueError: too many inputs

执行相同查询的另一种方法是什么?我的第一个想法是执行查询 50 次,每个值一次并合并结果。我希望也许有一个更优雅的解决方案。

对于可以传递给 numexpr 的条件数量是否有已知的限制?

最佳答案

如果您使用pandas.DataFrame.query,那么您可以尝试更改**kwargs中的engine='python'

关于python - Pytables NumExpr 值错误 : too many inputs when querying with a lot of conditions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18432277/

相关文章:

python - 从 NetworkX 中的一个节点获取子图

python - Cloud Run/Docker 加载大文件以进行 ML 预测

python - 为什么带有 numexpr 的 Pandas.eval() 这么慢?

python - 无法在 Windows 7 上安装 numexpr(以及 pytables),即使存在 interpreter.pyd,dll 加载失败

python - python 模块 argon2-cffi 使用了 Argon2 的 "flavour"吗?

python - 在 pyspark 中处理大数字的数据类型

python - 具有按索引值选择多索引的 Pandas HDFStore 找不到列

python - ptrepack sortby 需要 'full' 索引

python - PyTables + Pandas 选择问题

python - 运算符结果的 Numpy 总和,无需分配不必要的数组