如何在 Jupyter 中为熊猫修复 tqdm progress_apply?
Posted
技术标签:
【中文标题】如何在 Jupyter 中为熊猫修复 tqdm progress_apply?【英文标题】:How to fix tqdm progress_apply for pandas in Jupyter? 【发布时间】:2018-01-17 15:20:22 【问题描述】:不太明白这是一个错误还是我的本地问题,在 Jupyter 中将tqdm progress bars 与 progress_apply 一起使用仍然存在一些问题。
第一次尝试:
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 描述和显示栏没有空的初始化栏? :)
附言 文档 (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!")
【问题讨论】:
【参考方案1】:现在你可以这样做了:
from tqdm.notebook import tqdm
tqdm.pandas()
df.progress_apply(...)
我的 tqdm 版本是 4.39.0
【讨论】:
【参考方案2】:来自 tqdm 开发者的Answer:
笔记本电脑支持仍处于(后期)测试阶段。 API 可能会改变 当我们发布 tqdm v5 时稍微有点,但现在你可能需要
from tqdm._tqdm_notebook import tqdm_notebook
tqdm_notebook.pandas(...
【讨论】:
【参考方案3】:这是我在我的 jupyter 笔记本中运行的,然后 progress_apply 工作:
from tqdm import tqdm, tqdm_notebook
tqdm_notebook().pandas()
在 tqdm_notebook 之后没有 () 时出现错误
【讨论】:
【参考方案4】:假设您的问题是关于如何使用状态栏,而不是 Jupyter NoteBook 上状态栏的苦行者,那么您的代码应该是
tqdm.pandas(desc="Example Desc")
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))
【讨论】:
Ascetics 相当重要,因为它是使用 tqdm_notebook(不仅仅是 tqdm)的主要原因。此外,tqdm_notebook 适用于嵌套条,而静态 tqdm 与 colorama 有一些问题:)【参考方案5】:以下内容对我有用:
from tqdm import tqdm
tqdm.pandas()
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))
【讨论】:
以上是关于如何在 Jupyter 中为熊猫修复 tqdm progress_apply?的主要内容,如果未能解决你的问题,请参考以下文章
Jupyter Notebook 中的 tqdm 重复打印新的进度条
Python tqdm 导入检查 jupyter notebook 或 lab 是不是正在运行
如何在同一个 jupyter 笔记本单元格中显示多个熊猫系列直方图?