Unable to query a local variable in pandas 0.14.0
pandas, python
Solution
Seems a bug in 0.14, specifically with strings (works eg with ints). I filed an issue here: https://github.com/pydata/pandas/issues/7300. As a workaround for now, you can wrap it in a list:
In [40]: fills
Out[40]:
Price Symbol
0 109.70 BUD US
1 109.72 BUD US
2 183.30 IBM US
3 183.35 IBM US
In [41]: my_symbol = ['BUD US']
In [42]: fills.query('Symbol==@my_symbol')
Out[42]:
Price Symbol
0 109.70 BUD US
1 109.72 BUD US
Problem
I can query an explicit value: ``` fills.query('Symbol=="BUD US"') ``` Now I want to query a variable: ``` In [40]: my_symbol Out[40]: 'BUD US' ``` In pandas 0.13.1, I could simply use: ``` fills.query('Symbol==my_symbol') ``` This is no longer permitted in pandas 0.14.0 because local variables must be referred to explicitly. So I tried ``` fills.query('Symbol==@my_symbol') ``` but this returned an error ``` KeyError: '__pd_eval_local_my_symbol' ``` I was able to change some of my other code to use explicit local variables, but this one just will not take. Any thoughts? The dtype is `object`, if that helps.