diff options
Diffstat (limited to 'examples/pandas_progress_apply.py')
-rw-r--r-- | examples/pandas_progress_apply.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/examples/pandas_progress_apply.py b/examples/pandas_progress_apply.py new file mode 100644 index 0000000..4fc8f6b --- /dev/null +++ b/examples/pandas_progress_apply.py @@ -0,0 +1,29 @@ +import numpy as np +import pandas as pd + +from tqdm.auto import tqdm + +df = pd.DataFrame(np.random.randint(0, 100, (100000, 6))) + +# Register `pandas.progress_apply` and `pandas.Series.map_apply` with `tqdm` +# (can use `tqdm.gui.tqdm`, `tqdm.notebook.tqdm`, optional kwargs, etc.) +tqdm.pandas(desc="my bar!") + +# Now you can use `progress_apply` instead of `apply` +# and `progress_map` instead of `map` +df.progress_apply(lambda x: x**2) +# can also groupby: +# df.groupby(0).progress_apply(lambda x: x**2) + +# -- Source code for `tqdm_pandas` (really simple!) +# def tqdm_pandas(t): +# from pandas.core.frame import DataFrame +# def inner(df, func, *args, **kwargs): +# t.total = groups.size // len(groups) +# def wrapper(*args, **kwargs): +# t.update(1) +# return func(*args, **kwargs) +# result = df.apply(wrapper, *args, **kwargs) +# t.close() +# return result +# DataFrame.progress_apply = inner |