2016-04-27 32 views
20

何らかの理由で数値データフレームをマシン(df.to_pickle())の.pklファイルに書き込むと、別のマシンでこのファイルを開く必要がありますpd.read_pickle())、インポートエラーが表示されます。indexes.baseというモジュールがありません。インデックスをインポートしようとすると、インデックスが存在しないようです。Python - read_pickle ImportError:indexes.baseという名前のモジュールがありません

マシンでto_csvを試して、別のマシンでread_csvを試したところ、うまくいきました。

多くのありがとうございます!


ImportError        Traceback (most recent call last) 
<ipython-input-199-2be4778e3b0a> in <module>() 
----> 1 pd.read_pickle("test.pkl") 

C:\Users\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\io\pickle.pyc in read_pickle(path) 
58 
59  try: 
---> 60   return try_read(path) 
61  except: 
62   if PY3: 

C:\Users\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\io\pickle.pyc in try_read(path, encoding) 
55    except: 
56     with open(path, 'rb') as fh: 
---> 57      return pc.load(fh, encoding=encoding, compat=True) 
58 
59  try: 

C:\Users\AppData\Local\Continuum\Anaconda2\lib\site-packages\pandas\compat\pickle_compat.pyc in load(fh, encoding, compat, is_verbose) 
114   up.is_verbose = is_verbose 
115 
--> 116   return up.load() 
117  except: 
118   raise 

C:\Users\AppData\Local\Continuum\Anaconda2\lib\pickle.pyc in load(self) 
856    while 1: 
857     key = read(1) 
--> 858     dispatch[key](self) 
859   except _Stop, stopinst: 
860    return stopinst.value 

C:\Users\AppData\Local\Continuum\Anaconda2\lib\pickle.pyc in load_global(self) 
1088   module = self.readline()[:-1] 
1089   name = self.readline()[:-1] 
--> 1090   klass = self.find_class(module, name) 
1091   self.append(klass) 
1092  dispatch[GLOBAL] = load_global 

C:\Users\AppData\Local\Continuum\Anaconda2\lib\pickle.pyc in find_class(self, module, name) 
1122  def find_class(self, module, name): 
1123   # Subclasses may override this 
--> 1124   __import__(module) 
1125   mod = sys.modules[module] 
1126   klass = getattr(mod, name) 

ImportError: No module named indexes.base 
+0

は、「私は別のものでマシンとread_csvにto_csvしようとしたとき、それが働いた。 多くの感謝を!」 これは編集ですか? –

答えて

28

マシンの両方でPythonとパンダのバージョンを確認してください。

また、バージョンが同じ場合は、to_pickle()で使用したデータフレームを共有して、調べることができます。

+7

はい、他のマシンのパンダは「0.18.0」、私が使用しているのは「0.17.0」、一度私は0.18.0に更新しました。どうもありがとう! – Sapling

関連する問題