13
Help us understand the problem. What are the problem?

More than 3 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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
13
Help us understand the problem. What are the problem?