Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Missing optional dependency 'tables'. In pandas to_hdf

  • following code is giving me error.
import pandas as pd
df = pd.DataFrame({'a' : [1,2,3]})
df.to_hdf('temp.h5', key='df', mode='w')
  • This is giving me error.

    Missing optional dependency 'tables'. Use pip or conda to install tables.

  • I already tried ImportError HDFStore requires PyTables No module named tables. Still the same error.

  • I am getting the same error when reading hdf file. And tables are already installed for my python.

Some version info.

  • python 3.7.4
  • pandas 0.25.2
  • windows10

PS: You can reproduce this in repl https://repl.it/.

Update:

  • I tried runnig following.
import tables

and got this error:

ImportError: Could not load any of ['hdf5.dll', 'hdf5dll.dll'], please ensure that it can be found in the system path.

  • It looks like pandas is not giving accurate message for this. Its just saying missing dependency when its actually present.

  • If anyone knows how to resolve this. That will help.

like image 404
Poojan Avatar asked Oct 21 '19 04:10

Poojan


3 Answers

For conda users:

conda install pytables
like image 71
Matthew Avatar answered Nov 18 '22 11:11

Matthew


I got it to work by using

conda install snappy
like image 5
Georgios Koutsakis Avatar answered Nov 18 '22 12:11

Georgios Koutsakis


  • The issue was with tables.
  • When i was installing tables using pip into local user directory using following command it's not working.
pip install --user tables
  • Running import tables will result in this error.

    ImportError: Could not load any of ['hdf5.dll', 'hdf5dll.dll'], please ensure that it can be found in the system path

  • The solution that worked for me is to uninstall tables. And install it into python's directory. (or where your python is installed). without --user option. You may require admin/root access for this depending upon location of your python.

  • For me my python path was C:\Program Files\Python37-64\python.exe and installing under c:\program files\python37-64\lib\site-packages\ worked for me.
  • Hope this helps. I don't know why installing in user directory is not working for tables. If anyone can find the reason for that please post here.
like image 24
Poojan Avatar answered Nov 18 '22 12:11

Poojan