J'ai installé pandas sur python 3.3, et codé comme ceci:
import csv
import pandas
from pandas import DataFrame
csvdata = pandas.read_csv('datafile.csv')
df = DataFrame(csvdata)
Il est accompagné du message d'erreur suivant:
cannot import name hashtable
Traceback (most recent call last):
File "C:\Users\document\test4.py", line 5, in <module>
import pandas
File "C:\Python33\lib\site-packages\pandas\__init__.py", line 6, in <module>
from . import hashtable, tslib, lib
ImportError: cannot import name hashtable
Quelqu'un pourrait-il m'aider à comprendre comment résoudre cette erreur? Python et pandas ont été installés avec succès.
Pandas est fourni et peut facilement être mis à jour à l'aide de conda:
conda update pandas
Il est également livré avec cython, scipy (qui est difficile à installer via pip), des modèles de statistiques et gère pour vous les dépendances/répétitions entre ces packages.
Il convient de souligner que vous n'avez pas besoin d'un accès administrateur/Sudo pour l'installer sur la machine pour installer Anaconda.
Si vous n'utilisez pas Anaconda, la méthode recommandée pour installer pandas est via pip (sur Mac et Windows):
pip install pandas
Sous Linux, vous pouvez également installer avec python-pandas
dans n'importe quel référentiel, mais sachez que vous installez peut-être une ancienne version de pandas, vous devriez idéalement utiliser la dernière version stable.
Il semble que vous ayez essayé de installer à partir de la source , dont les documents mentionnent:
L'installation à partir du référentiel git nécessite une installation récente de Cython car les sources C cythonisées ne sont plus archivées dans le contrôle de code source . Les distributions sources publiées contiendront les fichiers C construits. Je recommande d'installer la dernière version de Cython via
easy_install -U Cython
Notez que vous ne pourrez pas importer de pandas si vous ouvrez un interpréteur dans le répertoire source sauf si vous construisez le Extensions C en place :
python setup.py build_ext --inplace
Sans compilation hashtables.pyx
(et quelques autres fichiers cython), pandas ne peut pas les importer. Ils sont requis pour pandas (ce qui explique votre message d'erreur) ).
Remarque: ceci le message d'erreur a été rendu plus descriptif à partir de 0.11.1 , il dira que les extensions C n'ont pas été construites.
Le binaire pandas Python 3.3 ici http://www.lfd.uci.edu/~gohlke/pythonlibs/ ne semble pas avoir été compilé avec succès. Je n'ai pas eu le temps de configurer ma machine de génération pour construire et tester Python 3.3 binaires mais je sais que les choses fonctionnent sur Python 3.3 sur les autres plates-formes.
J'ai également rencontré le même problème lorsque j'ai essayé d'installer pandas 0.13.1. Il s'est installé mais je n'ai pas pu l'importer.
Comme le suggère @danioyuan, j'ai installé Cython en utilisant easy_install et maintenant je peux importer des pandas.
J'ai rencontré le même problème. J'ai installé pandas en utilisant la commande pip install pandas.
Par défaut, mon pip a installé pandas dans les packages dist de python3.2 et ma version par défaut python était 2.7. Par conséquent, quand je l'ai fait python pour ouvrir le shell interactif et essayer de le faire
import pandas
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.2/dist-packages/pandas/__init__.py", line 6, in <module>
from . import hashtable, tslib, lib
ImportError: cannot import name hashtable
Ce qui a résolu mon problème était:
python3.2
import pandas
Veuillez vérifier que vous utilisez la même version Python dont les dist-packages contiennent des pandas.