Python入門トップページ


目次

  1. プログラミング言語
  2. Anaconda - Jupyter Notebook / JupyterLab の環境設定
  3. Python の基礎
  4. リスト,タプル,辞書,集合
  5. 再び Jupyter Notebook の操作
  6. Python の制御構文
  7. 関数
  8. 便利な関数など
  9. リストの内包表記
  10. 多次元リスト
  11. クラス
  12. 演習問題
  13. 雑多な情報
    • 進捗バーを表示する

Python の基礎

雑多な情報

進捗バーを表示する

ループによる繰り返し処理に時間を要する場合,処理の進捗状況を確認できるようにすると便利でしょう.Python で進捗バー(プログレスバー)を表示するには tqdm が便利です.進捗バーを利用するにはプログラムの先頭で tqdm をインポートします.


from tqdm import tqdm

例えば,10万個のランダムサンプルを100回生成する処理を実行します.このとき,次のとおり tqdm() を利用すると進捗バーを表示できます.


import random
for i in tqdm(range(100)):
    scores = random.sample(range(1, 1_000_000), 100_000)
 47%|███████████████████▋                      | 47/100 [00:02<00:02, 21.40it/s]
100%|█████████████████████████████████████████| 100/100 [00:04<00:00, 20.71it/s]

進捗バーの出力全体について文字数を指定することも可能です.例えば ncols=50 オプションを追加すると,全体で50文字分の進捗バーが表示されます.


for i in tqdm(range(100), ncols=50):
    scores = random.sample(range(1, 1_000_000), 100_000)
100%|███████████| 100/100 [00:04<00:00, 21.32it/s]

処理に相当な時間を要し進捗バーがなかなか進まないような場合は,ascii=True オプションを利用すると良いでしょう.次の場合,'123456789#' の順番で変化していきます.


for i in tqdm(range(1_000), ascii=True):
    scores = random.sample(range(1, 1_000_000), 100_000)
 41%|################2                       | 407/1000 [00:19<00:29, 20.05it/s]
 83%|#################################1      | 830/1000 [00:39<00:08, 21.09it/s]
100%|#######################################| 1000/1000 [00:48<00:00, 20.76it/s]

目次に戻る