Python
Jupyter

Jupyter Notebookでプログレスバーを表示して進捗を確認する方法

はじめに

プログラミングをしていて、数の大きなデータを扱ったり、繰り返し処理を行っている時に「今、どのくらい終わっているのかな」と気になることがあると思いますが、Jupyter notebookでPrint文を多用すると少しわかりにくくなりますね。
そこで、アプリケーションをインストールする際に利用される進捗状況のプログレスバーをJupyter Notebookで使用する方法を紹介します。

サンプルコード

Python 2系

from IPython.html.widgets import FloatProgress
from IPython.display import display
from time import sleep

fp = FloatProgress(min=0, max=100)
display(fp)

for i in xrange(100):
    sleep(0.1)
    fp.value = i

Python 3系

from IPython.html.widgets import FloatProgress
from IPython.display import display
from time import sleep

fp = FloatProgress(min=0, max=100)
display(fp)

for i in range(100):
    sleep(0.1)
    fp.value = i

追記。

ShimWarning: The `IPython.html` package has been deprecated. You should import from `notebook` instead. `IPython.html.widgets` has moved to `ipywidgets`.
  "`IPython.html.widgets` has moved to `ipywidgets`.", ShimWarning)

...という警告が表示される場合は、以下のとおり修正。

from ipywidgets import FloatProgress
from IPython.display import display
from time import sleep

fp = FloatProgress(min=0, max=100)
display(fp)

for i in range(100):
    sleep(0.1)
    fp.value = i

実行画面

スクリーンショット 2016-09-19 4.03.26.png

以上です。