26

Python 3.3にパンダをインストールし、次のようにコーディングしました:

import csv
import pandas
from pandas import DataFrame

csvdata = pandas.read_csv('datafile.csv')
df = DataFrame(csvdata)

次のエラーメッセージが表示されます。

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

このエラーを解決する方法を理解してくれる人はいますか? Python と pandas が正常にインストールされました。

4

5 に答える 5

27

更新:Anacondaを使用して科学的なPythonスタックをインストールすることをお勧めします。

パンダはバンドルされており、condaを使用して簡単に更新できます。

conda update pandas

また、cython、scipy(pipを介してインストールするのは難しい)、statsmodelsがバンドルされており、これらのパッケージ間の依存関係/関係を管理します。

Anacondaをインストールするためにマシンにインストールするためにadmin/sudoアクセスは必要ないことを強調する価値があります。


Anacondaを使用していない場合、パンダをインストールするための推奨される方法は、pip(MacおよびWindowsの場合)を使用することです。

pip install pandas

Linuxではpython-pandas、どのリポジトリにもインストールできますが、古いバージョンのパンダをインストールしている可能性があることに注意してください。理想的には、最新の安定バージョンを使用する必要があります。


ソースからインストールしようとしたようですが、ドキュメントには次のように記載されています。

gitリポジトリからインストールするには、Cython化されたCソースがソース管理にチェックインされなくなったため、Cythonを最近インストールする必要があります。リリースされたソースディストリビューションには、ビルドされたCファイルが含まれます。最新のCythonを経由してインストールすることをお勧めしますeasy_install -U Cython

C拡張機能を適切に構築しない限り、ソースディレクトリでインタプリタを開くとパンダをインポートできないことに注意してください。

python setup.py build_ext --inplace

コンパイルhashtables.pyx(および他のいくつかのcythonファイル)がないと、パンダはそれらをインポートできません。これらはパンダに必要です(これはエラーメッセージを説明します)。

注:このエラーメッセージは、0.11.1以降でよりわかりやすくなり、C拡張機能が作成されなかったことが示されます。

于 2013-01-20T19:37:25.950 に答える
3

pandas 0.13.1 をインストールしようとしたときにも同じ問題が発生しました。インストールしましたが、インポートできませんでした。

@danioyuan が示唆するように、easy_install を使用して Cython をインストールしたところ、パンダをインポートできるようになりました。

于 2014-04-09T14:18:00.087 に答える
3

pandas Python 3.3 バイナリ ( http://www.lfd.uci.edu/~gohlke/pythonlibs/ )は、正常にコンパイルされていないようです。Python 3.3 バイナリをビルドおよびテストするようにビルド マシンを構成する時間はありませんでしたが、他のプラットフォームの Python 3.3 でも動作することはわかっています。

于 2013-02-09T19:41:05.417 に答える
0

同じ問題が発生しました。コマンド pip install pandas を使用してパンダをインストールしました。

デフォルトでは、pip は python3.2 の dist-packages に pandas をインストールし、デフォルトの Python バージョンは 2.7 でした。その結果、Pythonを実行してインタラクティブシェルを開いて実行しようとしたとき

 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

私の問題を解決したのは:

 python3.2
 import pandas

dist-packages に pandas が含まれている同じ Python バージョンを使用していることを確認してください。

于 2014-05-24T06:41:25.387 に答える