我在查询pytables表时遇到了这个错误,where方法传递了一个包含50个条件的字符串。这些条件基本上是一个sqlin子句的翻译,也就是说,我希望得到一个特定字段等于某个值列表的记录。在
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的条件数量是否有已知的限制?在
我在GitHub上问了同样的问题。(巧合的是,我有50个条件从一个sqlin子句中翻译过来)它们的响应速度非常快。这是一个新问题:
你用什么新版本的?numpy 1.8可以。在
编辑:实际上它在Numpy1.8上也不起作用。他们还有NPY_MAXARGS=32
如果您使用
pandas.DataFrame.query
,那么您可以尝试将engine='python'
更改为**kwargs。在相关问题 更多 >
编程相关推荐