Incremental GSC parsing (exact copy of the tutorials shared as a separate project) / tqdm / _tqdm_pandas.py
1576 viewsimport sys12__author__ = "github.com/casperdcl"3__all__ = ['tqdm_pandas']456def tqdm_pandas(tclass, *targs, **tkwargs):7"""8Registers the given `tqdm` instance with9`pandas.core.groupby.DataFrameGroupBy.progress_apply`.10It will even close() the `tqdm` instance upon completion.1112Parameters13----------14tclass : tqdm class you want to use (eg, tqdm, tqdm_notebook, etc)15targs and tkwargs : arguments for the tqdm instance1617Examples18--------19>>> import pandas as pd20>>> import numpy as np21>>> from tqdm import tqdm, tqdm_pandas22>>>23>>> df = pd.DataFrame(np.random.randint(0, 100, (100000, 6)))24>>> tqdm_pandas(tqdm, leave=True) # can use tqdm_gui, optional kwargs, etc25>>> # Now you can use `progress_apply` instead of `apply`26>>> df.groupby(0).progress_apply(lambda x: x**2)2728References29----------30https://stackoverflow.com/questions/18603270/31progress-indicator-during-pandas-operations-python32"""33from tqdm import TqdmDeprecationWarning3435if isinstance(tclass, type) or (getattr(tclass, '__name__', '').startswith(36'tqdm_')): # delayed adapter case37TqdmDeprecationWarning("""\38Please use `tqdm.pandas(...)` instead of `tqdm_pandas(tqdm, ...)`.39""", fp_write=getattr(tkwargs.get('file', None), 'write', sys.stderr.write))40tclass.pandas(*targs, **tkwargs)41else:42TqdmDeprecationWarning("""\43Please use `tqdm.pandas(...)` instead of `tqdm_pandas(tqdm(...))`.44""", fp_write=getattr(tclass.fp, 'write', sys.stderr.write))45type(tclass).pandas(deprecated_t=tclass)464748