Я пробовал разные значения аргумента complete функции pandas DataFrame.to_hdf , и, похоже, он не оказывает никакого влияния на полученный файл, по крайней мере, для snappy сжатие с точки зрения конечного размера файла.
Документация pandas на самом деле не дает хорошего объяснения этому аргументу:
complevel{0-9}, optional: Specifies a compression level for data. A value of 0 disables compression.
Это пример кода Я бегу:
df = pd.DataFrame(np.random.randn(100000, 100))
for i in range(10):
filename = "test_data{}.sz".format(i)
df.to_hdf(filename, key="data", complib="blosc:snappy", complevel=i)
size = os.path.getsize(filename)
print("Size for complevel {}: {}".format(i, size))
И вот результат, который я получаю:
Size for complevel 0: 80807312
Size for complevel 1: 80273721
Size for complevel 2: 80273721
Size for complevel 3: 80273721
Size for complevel 4: 80273721
Size for complevel 5: 80273721
Size for complevel 6: 80273721
Size for complevel 7: 80273721
Size for complevel 8: 80273721
Size for complevel 9: 80273721
Как видите, только для complevel=0
(т.е. без сжатия) размер немного больше. Я хотел бы знать, почему поведение сжатия не изменяется для различных возможных уровней.