ImportError: 找不到名为'pandas.indexes'的模块。
ImportError: 找不到名为'pandas.indexes'的模块。
导入pandas没有报错,但是尝试读取一个选定的pandas数据帧时出错:
import numpy as np import pandas as pd import matplotlib import seaborn as sns sns.set(style="white") control_data = pd.read_pickle('null_report.pickle') test_data = pd.read_pickle('test_report.pickle')
回溯中有165行,同时出现了三个异常(不知道是什么意思)。我正在运行的pandas版本17.1与read_pickle
不兼容吗?我该如何解开pickle文件以供使用?
以下是回溯的副本:
ImportError Traceback (most recent call last) C:\Users\test\Anaconda3\lib\site-packages\pandas\io\pickle.py in try_read(path, encoding) 45 with open(path, 'rb') as fh: ---> 46 return pkl.load(fh) 47 except (Exception) as e: ImportError: No module named 'pandas.indexes' During handling of the above exception, another exception occurred: ImportError Traceback (most recent call last) C:\Users\test\Anaconda3\lib\site-packages\pandas\io\pickle.py in try_read(path, encoding) 51 with open(path, 'rb') as fh: ---> 52 return pc.load(fh, encoding=encoding, compat=False) 53 C:\Users\test\Anaconda3\lib\site-packages\pandas\compat\pickle_compat.py in load(fh, encoding, compat, is_verbose) 115 --> 116 return up.load() 117 except: C:\Users\test\Anaconda3\lib\pickle.py in load(self) 1038 assert isinstance(key, bytes_types) -> 1039 dispatch[key[0]](self) 1040 except _Stop as stopinst: C:\Users\test\Anaconda3\lib\pickle.py in load_stack_global(self) 1342 raise UnpicklingError("STACK_GLOBAL requires str") -> 1343 self.append(self.find_class(module, name)) 1344 dispatch[STACK_GLOBAL[0]] = load_stack_global C:\Users\test\Anaconda3\lib\pickle.py in find_class(self, module, name) 1383 module = _compat_pickle.IMPORT_MAPPING[module] -> 1384 __import__(module, level=0) 1385 if self.proto >= 4: ImportError: No module named 'pandas.indexes' During handling of the above exception, another exception occurred: ImportError Traceback (most recent call last) C:\Users\test\Anaconda3\lib\site-packages\pandas\io\pickle.py in read_pickle(path) 59 try: ---> 60 return try_read(path) 61 except: C:\Users\test\Anaconda3\lib\site-packages\pandas\io\pickle.py in try_read(path, encoding) 56 with open(path, 'rb') as fh: ---> 57 return pc.load(fh, encoding=encoding, compat=True) 58 C:\Users\test\Anaconda3\lib\site-packages\pandas\compat\pickle_compat.py in load(fh, encoding, compat, is_verbose) 115 --> 116 return up.load() 117 except: C:\Users\test\Anaconda3\lib\pickle.py in load(self) 1038 assert isinstance(key, bytes_types) -> 1039 dispatch[key[0]](self) 1040 except _Stop as stopinst: C:\Users\test\Anaconda3\lib\pickle.py in load_stack_global(self) 1342 raise UnpicklingError("STACK_GLOBAL requires str") -> 1343 self.append(self.find_class(module, name)) 1344 dispatch[STACK_GLOBAL[0]] = load_stack_global C:\Users\test\Anaconda3\lib\pickle.py in find_class(self, module, name) 1383 module = _compat_pickle.IMPORT_MAPPING[module] -> 1384 __import__(module, level=0) 1385 if self.proto >= 4: ImportError: No module named 'pandas.indexes' During handling of the above exception, another exception occurred: ImportError Traceback (most recent call last)in () 3 # test_data = np.genfromtxt(fh, usecols=2) 4 ----> 5 control_data = pd.read_pickle('null_report.pickle') 6 test_data = pd.read_pickle('test_report.pickle') 7 C:\Users\test\Anaconda3\lib\site-packages\pandas\io\pickle.py in read_pickle(path) 61 except: 62 if PY3: ---> 63 return try_read(path, encoding='latin1') 64 raise C:\Users\test\Anaconda3\lib\site-packages\pandas\io\pickle.py 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\test\Anaconda3\lib\site-packages\pandas\compat\pickle_compat.py in load(fh, encoding, compat, is_verbose) 115 --> 116 return up.load() 117 except: 118 raise C:\Users\test\Anaconda3\lib\pickle.py in load(self) 1037 raise EOFError 1038 assert isinstance(key, bytes_types) -> 1039 dispatch[key[0]](self) 1040 except _Stop as stopinst: 1041 return stopinst.value C:\Users\test\Anaconda3\lib\pickle.py in load_stack_global(self) 1341 if type(name) is not str or type(module) is not str: 1342 raise UnpicklingError("STACK_GLOBAL requires str") -> 1343 self.append(self.find_class(module, name)) 1344 dispatch[STACK_GLOBAL[0]] = load_stack_global 1345 C:\Users\test\Anaconda3\lib\pickle.py in find_class(self, module, name) 1382 elif module in _compat_pickle.IMPORT_MAPPING: 1383 module = _compat_pickle.IMPORT_MAPPING[module] -> 1384 __import__(module, level=0) 1385 if self.proto >= 4: 1386 return _getattribute(sys.modules[module], name)[0] ImportError: No module named 'pandas.indexes'
我还尝试直接从pickle中加载pickle文件:
via_pickle = pickle.load( open( 'null_report.pickle', "rb" ) )
并且得到相同的错误:
--------------------------------------------------------------------------- ImportError Traceback (most recent call last)in () 1 ----> 2 via_pickle = pickle.load( open( 'null_report.pickle', "rb" ) ) 3 4 # control_data = pd.read_pickle('null_report.pickle') 5 # test_data = pd.read_pickle('test_report.pickle') ImportError: No module named 'pandas.indexes'