У меня есть массив NumPy целых чисел:
import numpy as np
x = np.random.randint(0, 1000, size=300_000_000)
Я хочу записать этот массив в файл (машиночитаемый в порядке), чтобы файл был как можно меньшего размера, а затем он будет быть прочитанным обратно в память позже. Какой самый компактный способ записи / чтения этого массива в файл?
Я пробовал:
x.astype('int16').tofile('file.int16') # 572 MB
df.to_csv("file.csv", index=False, header=None) # 1.1 GB
df.to_parquet("file.parq", index=False, compression="GZIP") # 556M
Пожалуйста, покажите как запись файла, так и чтение файла и размер файла для массива, показанного выше.