pd.eval does fails when the same operation in python works fine.
#### A small, complete example of the issue

```python
# Your code here
df = pd.DataFrame(data=[(1,2),(3,4)], columns=['a', 'b'])
pd.eval("sum(df) / 7", local_dict={'sum': np.sum, 'df': df}, engine='numexpr')
*** TypeError: unhashable type: 'numpy.ndarray'
```

#### Expected Output
a    0.571429
b    0.857143
dtype: float64

This works fine when doing that same
sum in python (and it also works fine in pd.eval() using the 'python' engine.

The following from the docs does not seem to apply in this case.

> Series and DataFrame objects are supported and behave as they would with plain ol’ Python evaluation
.


#### Output of ``pd.show_versions()``


INSTALLED VERSIONS
------------------
commit: None
python: 2.7.12.final.0
python-bits: 64
OS: Linux
OS-release: 4.4.5-300.fc23.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_AU.UTF-8
LOCALE: None.None

pandas: 0.19.0
nose: None
pip: 8.1.2
setuptools: 27.2.0
Cython: None
numpy: 1.11.2
scipy: 0.18.1
statsmodels: None
xarray: None
IPython: None
sphinx: None
patsy: None
dateutil: 2.5.3
pytz: 2016.7
blosc: None
bottleneck: None
tables: None
numexpr: 2.6.1
matplotlib: None
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: None
httplib2: None
apiclient: None
sqlalchemy: 0.8.3
pymysql: None
psycopg2: None
jinja2: 2.8
boto: 2.42.0
pandas_datareader: None

</details>
