当前位置: 首页 > 面试题库 >

如何在Jupyter笔记本中对熊猫使用tqdm?

元彦君
2023-03-14
问题内容

我正在使用jupyter笔记本对熊猫进行一些分析,由于我的apply函数需要很长时间,因此我希望看到一个进度条。通过这里的这篇文章,我找到了tqdm库,该库为pandas操作提供了一个简单的进度条。还有一个Jupyter集成,它提供了一个非常不错的进度条,其中进度条本身随时间而变化。

但是,我想将两者结合起来,但还不太了解如何做到这一点。让我们以与文档中相同的示例为例

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

但它们不起作用。在定义中,在我看来

tqdm.pandas(tqdm_notebook(desc="my bar!"))

应该可以,但是该栏无法正确显示进度,仍然有其他输出。

还有其他想法吗?


问题答案:

您可以使用:

tqdm_notebook().pandas(*args, **kwargs)

这是因为tqdm_notebook具有延迟器适配器,因此在访问其方法(包括类方法)之前必须实例化它。

将来(> v5.1),您应该能够使用更统一的API:

tqdm_pandas(tqdm_notebook, *args, **kwargs)


 类似资料:
  • 问题内容: 典型地,一个运行或或在终端局部地启动一个Jupyter笔记本网络服务器(和打开的浏览器中的URL)。使用conda 和conda环境时, 最常见的错误消息似乎是:在conda环境中安装XYZ软件包后, 可以在其中启动的python控制台中运行,但是在 Jupyter笔记本中 运行相同的代码 将导致ImportError 。 这个问题已经被问过很多次了,但是没有一个很好的答案,大多数Q&

  • 我一直试图在Jupyter笔记本上显示gif,但遇到了一些麻烦。我一直得到一个空白的图像文件。 我已经尝试使用这个GitHub存储库中的html。 而且 以上这些到目前为止都没有奏效。 谢谢

  • 我在Windows 10上运行Anaconda,并使用Jupyter Notebook进行机器学习项目。 我最近开始意识到Conda中的虚拟环境。 我使用以下命令在conda中创建了一个虚拟环境 激活环境 ipykernel中安装的环境(不确定使用的术语是否正确) 现在环境是可见的jupyter笔记本,但当我启动它我得到

  • 通常在终端中运行或或,在本地启动jupyter notebook Web服务器(并在浏览器中打开URL)。在使用conda和conda环境时,运行Jupyter笔记本的最佳方式是什么,它允许导入安装在conda环境中的Python模块? 看起来,这并不是很直截了当,许多用户也有类似的问题。 最常见的错误消息似乎是:在conda环境中安装程序包XYZ后,可以在中启动的python控制台中运行,但在J

  • 我回顾了各种相关问题,包括 如何让MathJax在ipython笔记本中启用mhchem扩展 但我不能让它工作。。。 我的测试用例很简单 期待直立的$\pi$,但目前只是'\uppi'回来了。 我已经尝试了以下使用细胞魔法 这会生成

  • 在使用macOS Mojave的本地机器中,我安装了一个虚拟环境,其中包含Python 3.6、opencv包和一些其他不相关的包。 我开始了一个非常简单的Jupyter笔记本,执行没有问题,这是代码: 现在,我正试图在远程Ubuntu机器上的Jupyter笔记本中执行相同的代码,但我无法使其工作。以下是我采取的步骤: 我将图像文件和笔记本ypnb文件复制到远程ubuntu机器上 我打开了一个ss

  • 我正在使用Jupyter笔记本编写Python 2代码。我将其调用为: 同时,我使用IPython控制台,启动时使用: 我的问题是,Jupyter历史被保存,并且与IPython历史混合在一起。我根本不想要Jupyter笔记本的历史记录-有没有办法禁用它,同时保留IPython**历史记录? 平台:win32 更新: 我尝试过使用建议的设置摘要方法。但是,当我在配置中输入“c.Session.di