【发布时间】:2017-03-21 11:24:36
【问题描述】:
我正在 jupyter 笔记本中对 pandas 进行一些分析,由于我的应用功能需要很长时间,我希望看到一个进度条。 通过这篇here 的帖子,我找到了为pandas operations 提供简单进度条的tqdm 库。 还有一个 Jupyter integration 提供了一个非常好的进度条,进度条本身会随着时间而变化。
但是,我想将两者结合起来,但不太了解如何做到这一点。 让我们以与文档中相同的示例为例
import pandas as pd
import numpy as np
from tqdm 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_notebook`, 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)
它甚至说“可以使用'tqdm_notebook'”,但我没有找到方法。 我已经尝试了一些类似的东西
tqdm_notebook(tqdm.pandas(desc="my bar!"))
或
tqdm_notebook.pandas
但它们不起作用。 在definition 中,我觉得它像
tqdm.pandas(tqdm_notebook(desc="my bar!"))
应该可以,但是栏没有正确显示进度并且还有额外的输出。
还有其他想法吗?
【问题讨论】:
-
似乎有错误。我也在经历。它适用于 groupby progress_apply...
df.groupby(0).progress_apply(lambda x: x**2) -
@JulienMarrec,我看不出它也适用于 groupby。我得到一个立即完整的绿色条,然后更新发生在另一个不太漂亮的条上,它在绿色条下方更新。
-
是的,我也得到了不太漂亮的栏,但是这个栏有效......如果将来这里没有牵引力,也许值得前往 GitHub 来打开一个问题
-
我可能会对不太漂亮的酒吧感到满意,但我仍然想知道为什么。我的笔记本似乎也有一些奇怪的依赖性。如果我打开一个新笔记本,一切都很好(不漂亮但可以工作)。但是在我的实际笔记本中,在执行了一些其他操作后运行相同的导入和功能,该栏实际上并没有更新自己,但每次更新都在一个新行中
标签: python pandas jupyter-notebook tqdm