在 Jupyter Notebook 里,经常会遇到数据集很大,某一步处理需要很久的情况。在这种情况下,有时很难区分 notebook 是挂了还是 hanging,或是还在正常运行。
我也被这个问题困扰了很久,最近找到了一个小工具很好的解决了这个问题,这个工具就是 tqdm。它其实是一个 python 通用的进度条工具,但最近对 pandas 做了专门的适配。下面举个栗子来看下怎么用,其实也非常简单。
假设现有一个巨大的数据集 df
,数据集有个特征是时间特征,但目前是字符串而非 pandas 的 datetime
类型,我需要用 apply 方法处理。如果不需要进度条,那很简单:
1 | # convert function |
现在通过引入 tqdm 包的方式,就可以看到进度条:
1 | from tqdm import tqdm |
可以看到就是把 apply 方法改成了 profress_apply 而已,这样就可以看到如下的进度条效果了:
如果想要更好看的进度条,可以把引入 tqdm 包的代码改成 from tqdm.auto import tqdm
。
以上。