Я хочу читать файлы в numy в 6-байтовых чанках (int48).Как я знаю, numpy dtype поддерживает только int32, int64, ... Также я нашел скрипт для этого случая: Чтение и сохранение произвольных целых байтов из файла
buf = "000000111111222222"
a = np.ndarray(len(buf), np.dtype('>i1'), buf)
e = np.zeros(len(buf) / 6, np.dtype('>i8'))
for i in range(3):
e.view(dtype='>i2')[i + 1::4] = a.view(dtype='>i2')[i::3]
[hex(x) for x in e]
Я использовалэтот код для файла размером 1 ГБ и скоростью чтения составляет 10 с, но он очень медленный для использования этого кода в моем проекте.Не могли бы вы предложить лучшую идею для чтения файлов в NumPy (6 байт)?Обратите внимание, что numpy читает 1ГБ файл с dtype int64 за 0,5 с, и я хочу достичь этого результата.