Когда я использую Python 3 для numpy.load
файла, dtype
будет изменен, а затем вызвал ошибку в последующем коде.
Первоначально это [('data_date', [('year', '<i4'), ('month', '<i4'), ('day', '<i4')]), ('', '|V4')]
После загрузки становится [('data_date', [('year', '<i4'), ('month', '<i4'), ('day', '<i4')]), ('f1', '|V4')]
- обратите внимание, что последний dtype в списке был пустым полем, но каким-то образом, когда python3 загружает файл и делаетон ('', '|V4')
до ('f1', '|V4')
и заставляет мой код не распознавать форму и тип данных файла.
У меня было "исправлено" жестко закодировано для сохранения с astype(by redefining the dtype with ('', '|V4'))
.
Кто-нибудь знает, почему Python 3 изменит dtype, открыв его? Есть ли другой способ избежать этого вместо сохранения файла с astype()
.
Большое спасибо.
Когда я делаю
loaded = np.load('the_file.npz')
database = loaded['database']
database.dtype```
#The output will be [('data_date', [('year', '<i4'), ('month', '<i4'), ('day', '<i4')]), ('f1', '|V4')]
#When I use the file format viewer application(make no change to the file), the dtype is just
#[('data_date', [('year', '<i4'), ('month', '<i4'), ('day', '<i4')]), ('', '|V4')]