我可以查询显式值:
fills.query('Symbol=="BUD US"')
现在我要查询一个变量:
In [40]: my_symbol
Out[40]: 'BUD US'
在pandas 0.13.1中,我可以简单地使用:
fills.query('Symbol==my_symbol')
熊猫0.14.0中不再允许这样做,因为local variables must be referred to explicitly。所以我试着
fills.query('Symbol==@my_symbol')
但这返回了一个错误
KeyError: '__pd_eval_local_my_symbol'
我可以改变我的其他一些代码使用显式局部变量,但这一个只是不会采取。有什么想法吗?如果有帮助的话,dtype是object
。
似乎是0.14中的一个错误,特别是字符串(例如对int有效)。我在这里提交了一个问题:https://github.com/pydata/pandas/issues/7300。
作为目前的解决方法,您可以将其包装在一个列表中:
上面的答案非常正确,但是我想提到我在这种情况下使用的另一种解决方法。基本上,只需像处理其他要插入变量的字符串一样处理查询字符串。
编辑:根据您的评论修复
相关问题 更多 >
编程相关推荐