猿问

熊猫行动中的进度指示器

我经常对超过1500万行的数据帧执行熊猫操作,我很乐意能够访问特定操作的进度指示器。


是否存在基于文本的大熊猫拆分应用合并操作进度指示器?


例如,类似:


df_users.groupby(['userID', 'requestDate']).apply(feature_rollup)

其中feature_rollup包含一些DF列并通过各种方法创建新用户列的函数。对于大型数据帧,这些操作可能要花费一些时间,因此我想知道是否有可能在iPython笔记本中提供基于文本的输出,从而向我更新进度。


到目前为止,我已经尝试了Python的规范循环进度指示器,但是它们并未以任何有意义的方式与熊猫互动。


我希望pandas库/文档中有一些被我忽略的东西,它使人们知道了split-apply-combine的进度。一个简单的实现方法可能是查看apply功能在其上起作用的数据帧子集的总数,并将进度报告为这些子集的完成部分。


这是否可能需要添加到库中?


慕的地10843
浏览 479回答 3
3回答

ABOUTYOU

您可以使用装饰器轻松完成此操作from functools import wraps def logging_decorator(func):    @wraps    def wrapper(*args, **kwargs):        wrapper.count += 1        print "The function I modify has been called {0} times(s).".format(              wrapper.count)        func(*args, **kwargs)    wrapper.count = 0    return wrappermodified_function = logging_decorator(feature_rollup)然后只需使用modified_function(并在您希望打印时更改它)
随时随地看视频慕课网APP

相关分类

Python
我要回答