LoginSignup
13

More than 5 years have passed since last update.

posted at

Jupyter notebookでpandasのmap/applyメソッド進捗表示をいい感じにする

概要

  • Jupyter notebookで進捗バーをいい感じに表示するにはtqdm_notebookを呼ぶ
  • from tqdm._tqdm_notebook import tqdm_notebook で呼び出すと、
    progress_applyやprogress_mapを使える

事前準備

tqdmのインストール

pipで管理している人用

pip install tqdm

condaで管理している人用

conda install -c conda-forge tqdm

いい感じに進捗を表示する

1セル目:


import pandas as pd
import numpy as np
from tqdm._tqdm_notebook import tqdm_notebook

2セル目:


df = pd.DataFrame(np.random.randint(0, 100, (100000, 6)))

3セル目:


# プログレスバーのラベル設定
tqdm_notebook.pandas(desc="hoge progress: ")

# progress_apply/progress_mapはpandasのapply/mapメソッドと同じ動きをする
df['hoge'] = df[0].progress_apply(lambda x: x**2)

df

実行結果:

image.png

その他

tqdm_notebookのサンプルコードではforを使ったものしかなく…。
ですがこれで長時間の処理でも安心してapply/mapできますね。
もっとスマートなやり方があればコメントにて教えていただけると嬉しいです。

参考文献

Function tqdm_notebook has no attribute 'pandas' (Jupyter) #419
https://github.com/tqdm/tqdm

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
13