如何在 Jupyter 中为 pandas 修复 tqdm progress_apply?
How to fix tqdm progress_apply for pandas in Jupyter?
不太明白这是一个错误还是我的本地问题,在 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]),第二个是 OK.
有什么想法可以更改 progress_apply 描述和显示栏而不用空初始化栏吗? :)
P.S.
文档 (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!")
假设您的问题是关于如何使用状态栏,与 Jupyter NoteBook 上状态栏的苦行者相比,那么您的代码应该是
tqdm.pandas(desc="Example Desc")
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))
Answer 来自 tqdm 开发者:
notebook support is still in a (late) beta stage. The API might change
slightly when we release tqdm v5 but for now you probably need
from tqdm._tqdm_notebook import tqdm_notebook
tqdm_notebook.pandas(...
这就是我在我的 jupyter 笔记本中 运行,然后 progress_apply 的作品:
from tqdm import tqdm, tqdm_notebook
tqdm_notebook().pandas()
在 tqdm_notebook
之后没有 () 时出现错误
以下对我有用:
from tqdm import tqdm
tqdm.pandas()
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))
现在你只需要做:
from tqdm.notebook import tqdm
tqdm.pandas()
df.progress_apply(...)
我的 tqdm 版本是 4.39.0
不太明白这是一个错误还是我的本地问题,在 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]),第二个是 OK.
有什么想法可以更改 progress_apply 描述和显示栏而不用空初始化栏吗? :)
P.S. 文档 (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!")
假设您的问题是关于如何使用状态栏,与 Jupyter NoteBook 上状态栏的苦行者相比,那么您的代码应该是
tqdm.pandas(desc="Example Desc")
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))
Answer 来自 tqdm 开发者:
notebook support is still in a (late) beta stage. The API might change slightly when we release tqdm v5 but for now you probably need
from tqdm._tqdm_notebook import tqdm_notebook
tqdm_notebook.pandas(...
这就是我在我的 jupyter 笔记本中 运行,然后 progress_apply 的作品:
from tqdm import tqdm, tqdm_notebook
tqdm_notebook().pandas()
在 tqdm_notebook
之后没有 () 时出现错误以下对我有用:
from tqdm import tqdm
tqdm.pandas()
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))
现在你只需要做:
from tqdm.notebook import tqdm
tqdm.pandas()
df.progress_apply(...)
我的 tqdm 版本是 4.39.0