with saving open how python pickle importerror

saving - python pickle function



Python-read_pickle ImportError: No hay un módulo llamado indexes.base (2)

Escribo un marco de datos numérico en el archivo .pkl en una máquina (df.to_pickle ()), por alguna razón, tengo que abrir este archivo en una máquina diferente (pd.read_pickle ()), aparece un error de importación que dice: No módulo llamado indexes.base, y cuando intento importar índices, no parece haber uno.

Cuando intenté to_csv en una máquina y read_csv en una diferente, funcionó.

¡Muchas gracias!

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


El uso de pd.read_pickle también puede ayudar a la compatibilidad con versiones anteriores si está intentando leer solo un marco de datos. Ver el tema github .

Desafortunadamente tengo un diccionario de marcos de datos, así que intentaré usar un entorno virtual con una versión anterior para cargar, volver a guardar solo los marcos de datos y luego usar pd.read_pickle .


Por favor verifique la versión de Python y Pandas en ambas máquinas.

Además, si las versiones son iguales, puedes compartir el marco de datos que usaste con to_pickle (), para que podamos verlo.