I used to perform operations such as df.query("a > 10") and they work fine.
However, I noticed that when I tried df.query("(a + b) / 2 > 10"), it failed.
Fortunately, when I tried df.eval("(a + b) / 2 > 10"), it works fine.
This leads me to the question what makes eval different from query and when should we use one vs the other?