title: Using query() when column names are numeric or contain special characters
body: <p>Is it possible to use the query method in pandas where columns don't have names or their name have special characters in it? I'd like to use the query string from a configuration file but for some columns this doesn't work. I am aware of the <a href="https://stackoverflow.com/a/27787349/1136458">valid Python identifiers limitation</a>  but I wonder if there is any other special keyword like index that I haven't seen</p>
  
  <pre><code>&gt;&gt;&gt;df = pd.DataFrame(np.ones((3,4)))
  &gt;&gt;&gt;df['Special:chars'] = [1,2,9]
  &gt;&gt;&gt;df
  
     0  1  2  3  Special:chars
  0  1  1  1  1              1
  1  1  1  1  1              2
  2  1  1  1  1              9
  
  &gt;&gt;&gt;df.query('index in [0,2]') #the only working query I was able to find
  
     0  1  2  3  Special:chars
  0  1  1  1  1              1
  2  1  1  1  1              9
  
  &gt;&gt;&gt;df.query('0&lt;2')
  KeyError: True
  
  &gt;&gt;&gt;df.query('"0"&lt;2')
  TypeError: data type "" not understood
  
  &gt;&gt;&gt;df.query('Special:chars &gt;=2')
      Special :chars &gt;=2
              ^
  SyntaxError: invalid syntax
  
  &gt;&gt;&gt;df.query('"Special:chars" &gt;=2')
  data type "Special:chars" not understood
  </code></pre>