Какова роль аргумента завершения в функции pandas to_hdf ()? - PullRequest
0 голосов
/ 30 января 2020

Я пробовал разные значения аргумента 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 (т.е. без сжатия) размер немного больше. Я хотел бы знать, почему поведение сжатия не изменяется для различных возможных уровней.

...