由于需求旺盛,我
pandas在
tqdm(
pip install "tqdm>=4.9.0")中添加了支持。与其他答案不同,这
不会明显降低熊猫的速度 -这是以下示例
DataframeGroupBy.progress_apply:
import pandas as pdimport numpy as npfrom tqdm import tqdm# from tqdm.auto import tqdm # for notebooksdf = pd.Dataframe(np.random.randint(0, int(1e8), (10000, 1000)))# Create and register a new `tqdm` instance with `pandas`# (can use tqdm_gui, optional kwargs, etc.)tqdm.pandas()# Now you can use `progress_apply` instead of `apply`df.groupby(0).progress_apply(lambda x: x**2)
如果您对它的工作方式(以及如何为自己的回调进行修改)感兴趣,请参阅github上的示例,pypi上的完整文档或导入模块并运行
help(tqdm)。其它支持的功能包括
map,
applymap,
aggregate,和
transform。
编辑
要直接回答原始问题,请替换为:
df_users.groupby(['userID', 'requestDate']).apply(feature_rollup)
与:
from tqdm import tqdmtqdm.pandas()df_users.groupby(['userID', 'requestDate']).progress_apply(feature_rollup)
注意:tqdm <= v4.8:对于低于4.8的tqdm版本,
tqdm.pandas()您不必执行以下 *** 作:
from tqdm import tqdm, tqdm_pandastqdm_pandas(tqdm())
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)