Parallelize Pandas operations with pandarallel
masterUse pandarallel to parallelize standard Pandas operations across all available CPUs. It provides a drop-in replacement for several Pandas methods by prefixing them with parallel_. It also includes progress bars for both terminal and Notebook environments.
Supported API mappings:
df.apply(func)$\rightarrow$df.parallel_apply(func)df.applymap(func)$\rightarrow$df.parallel_applymap(func)df.groupby(args).apply(func)$\rightarrow$df.groupby(args).parallel_apply(func)df.groupby(args1).col_name.rolling(args2).apply(func)$\rightarrow$df.groupby(args1).col_name.rolling(args2).parallel_apply(func)df.groupby(args1).col_name.expanding(args2).apply(func)$\rightarrow$df.groupby(args1).col_name.expanding(args2).parallel_apply(func)series.map(func)$\rightarrow$series.parallel_map(func)series.apply(func)$\rightarrow$series.parallel_apply(func)series.rolling(args).apply(func)$\rightarrow$series.rolling(args).parallel_apply(func)