Issue 33728: pandas.to_records can not be saved by numpy.savez (original) (raw)
my first time to report a bug here. But it is so annoying, I have to report it. Here is the demonstration of the errors I encounter:
import numpy as np import pandas as pd np.version '1.14.3' pd.version u'0.23.0'
df=pd.DataFrame({'a':range(10)}) df['b']='abc' df a b 0 0 abc 1 1 abc 2 2 abc 3 3 abc 4 4 abc 5 5 abc 6 6 abc 7 7 abc 8 8 abc 9 9 abc
np.savez_compressed('abc',data=df.to_records(index=False)) a=np.load('abc.npz') a.keys() ['data'] a['data'] Traceback (most recent call last): File "", line 1, in File "/usr/lib64/python2.7/site-packages/numpy/lib/npyio.py", line 235, in getitem pickle_kwargs=self.pickle_kwargs) File "/usr/lib64/python2.7/site-packages/numpy/lib/format.py", line 635, in read_array shape, fortran_order, dtype = _read_array_header(fp, version) File "/usr/lib64/python2.7/site-packages/numpy/lib/format.py", line 523, in _read_array_header raise ValueError(msg % (d['descr'],)) ValueError: descr is not a valid dtype descriptor: [(u'a', '<i8'), (u'b', '|O')]