プログレスバーを表示する tqdm の使い方

2016年2月25日

はじめに

リスト処理についてのプログレスバーを容易に表示できる tqdm の使い方について。

環境

  • Windows 7 64 bit
  • MSYS2 64 bit (MinGW w64)
  • Anaconda for Windows (Python 2.7)

※MinGW にも Python が入っているので、Anaconda のほうを使うようにパスを設定している。

tqdm

tqdm はリストの処理についてのプログレスバーを容易に表示させることができる。たとえば、次のような処理があったとする。

import numpy as np

def func(x):
    return x*x

a = np.linspace(0, 1, 10000000)

b = []
for x in a:
    b.append(func(x))

a の処理を行う for 文について、プログレスバーを表示させたい場合、for の a を tqdm() 関数で囲むだけである。

from tqdm import tqdm

...

for x in tqdm(a):
    b.append(func(x))

これを実行すると、次のようにプログレスバーが表示される。

$ python tqdm-test.py
 35%|########9                 | 3456929/10000000 [00:03<00:05, 1092760.20it/s]

次のようにリスト内包表記でも使える。

b = [func(x) for x in tqdm(a)]

参考文献