俺のOneNote

俺のOneNote

データ分析が仕事な人のOneNote愛とか、分析小話とか。

Python の progress bar いろいろ

プログレスバーなんてtqdm一択じゃね?

という結論で落ち着く話ではありそうですが、
なんとなく、「もっとライブラリの種類あるのかなぁ?」と思って調べてみました。

環境はgoogle colabです。

tqdm

たぶん誰もが使ったことがあるおなじみtqdm

github.com

from tqdm import tqdm
for i in tqdm(range(100)):
  time.sleep(0.1)

f:id:kopaprin:20200430181607g:plain

※たまにこんな感じで改行されるケースがあり、イラっとします。
 改行コードの関係みたいですけど。

f:id:kopaprin:20200430165459p:plain

stackoverflowにて解決済みではありますが、jupyterでは tqdm.notebookで回避することができるようです。

stackoverflow.com

from tqdm.notebook import tqdm
for i in tqdm(range(100)):
  time.sleep(0.1)

f:id:kopaprin:20200430181725g:plain

ちょっとデザイン変わっちゃいますね。

fastprogress

fastprogressっていうライブラリもあるみたいです。

github.com

from fastprogress.fastprogress import  progress_bar
for i in progress_bar(range(100)):
  time.sleep(0.1)

f:id:kopaprin:20200430181957g:plain

tqdm.notebookとほとんど一緒な件。 目盛り線がオシャレポイントか。

progressbar2

progressbar2 。

github.com

デフォルトはいたってシンプルですな。

import progressbar
for i in progressbar.progressbar(range(100)):
  time.sleep(0.1)

f:id:kopaprin:20200430182117g:plain

結論

好きなのを使えばよろしいいかな、と思います。
見た目もいろいろ設定できそうだし。

おまけ

tqdm_gui を使ってみたかったけどcolab環境だとうまくいかず。
 きっとテクニックがあるんだろうな。

f:id:kopaprin:20200430164707p:plain

stackoverflow.com