Код: Выделить всё
import pandas as pd
import dask.dataframe as dd
import time
from memory_profiler import memory_usage
filename = "large_dataset_3.csv"
df_pd = pd.read_csv(filename)
df_dask = dd.read_csv(filename, blocksize=75e6)
start = time.time()
mean_pd = df_pd["points"].mean()
stop = time.time()
print(f"Pandas Mean Computation Time {stop - start:.5f} seconds")
start = time.time()
mean_dask = df_dask["points"].mean().compute(num_workers=4)
stop = time.time()
print(f"Dask Mean Computation Time {stop - start:.5f} seconds")
Для контекста:
Набор данных (large_dataset_3.csv). содержит 100 миллионов строк общим размером 292,4 МБ.
Мои системные характеристики:
Процессор: Intel ® Ядро™ i5-8365U × 8 (4 ядра, 8 потоков)
ОЗУ: 16 ГБ
Мои вопросы:
Почему Dask в этом сценарии работает медленнее, чем Pandas?
Есть ли какие-либо оптимизации или конфигурации, которые я могу применить, чтобы повысить производительность Dask?
Подробнее здесь: https://stackoverflow.com/questions/793 ... et-and-how