Code: Select all
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")
Für den Kontext:
Der Datensatz (large_dataset_3.csv) enthält 100 Millionen Zeilen mit einer Gesamtgröße von 292,4 MB.
Meine Systemspezifikationen sind:
Prozessor: Intel ® Core™ i5-8365U × 8 (4 Kerne, 8 Threads)
RAM: 16 GB
Meine Fragen:
Warum ist Dask in diesem Szenario langsamer als Pandas?
Gibt es Optimierungen oder Konfigurationen, die ich anwenden kann, um die Leistung von Dask zu verbessern?