``` import pandas as pd # scalar (OK) s = 1 pd.eval('s', engine='numexpr') # 1L pd.eval('s', engine='python') #1 # array a = np.array([1]) # OK pd.eval('a', engine='python') # array([1]) # NG pd.eval('a', engine='numexpr') # 1L ``` Internally, we can distinguish them using returned shape. ``` import numexpr as ne ne.evaluate('s') # array(1L) ne.evaluate('a') # array([1]) ne.evaluate('s').shape # () ne.evaluate('a').shape # (1,) ```