27

不太明白这是一个错误还是我的本地问题,在 Jupyter 中使用带有progress_apply的tqdm 进度条仍然存在一些问题。

第一次尝试:

from tqdm import tqdm
tqdm_notebook.pandas(desc="Example Desc")
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))

输出(没有任何条)

AttributeError: 'function' object has no attribute 'pandas'

第二次尝试:

from tqdm import tqdm
tqdm_notebook().pandas(desc="Example Desc")
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))

输出: 两根柱子(需要一根)。第一个柱是空的 (0it [00:00, ?it/s]),第二个是好的。

任何想法如何在没有空初始化栏的情况下更改progress_apply描述和显示栏?:)

PS 文档(https://github.com/tqdm/tqdm)说我可以只使用tqdm_notebook,但它不适合我:)

# 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!")
4

5 回答 5

25

现在你可以这样做:

from tqdm.notebook import tqdm
tqdm.pandas()

df.progress_apply(...)

我的 tqdm 版本是 4.39.0

于 2019-11-29T11:26:10.073 回答
16

tqdm 开发人员的回答:

笔记本电脑支持仍处于(后期)测试阶段。当我们发布 tqdm v5 时,API 可能会略有变化,但现在您可能需要

from tqdm._tqdm_notebook import tqdm_notebook

tqdm_notebook.pandas(...
于 2017-08-09T20:55:20.890 回答
11

这是我在我的 jupyter 笔记本中运行的,然后 progress_apply 工作:

from tqdm import tqdm, tqdm_notebook
tqdm_notebook().pandas()

在 tqdm_notebook 之后没有 () 时出现错误

于 2018-06-28T14:27:30.673 回答
7

假设您的问题是关于如何使用状态栏,而不是 Jupyter NoteBook 上状态栏的苦行者,那么您的代码应该是

tqdm.pandas(desc="Example Desc")
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))
于 2017-08-09T19:31:25.270 回答
4

以下对我有用:

from tqdm import tqdm
tqdm.pandas()
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))
于 2019-06-15T11:15:38.267 回答