tqdm は、プログラムの実行状況をより良く理解するために、ループ中に進捗バーを表示するための Python ライブラリです。コンソールや Jupyter Notebook で使用することができ、さまざまな進捗バースタイルに対応しています。このライブラリを知るきっかけは、データを処理する際に進捗を表示したくなり、自分で手動で count % 10000 == 0 のような判断を書いて出力するのは面倒だったため、情報を調べてこのライブラリを知りました。
tqdm の使用は非常に簡単で、ループ内で tqdm 関数を呼び出すだけです。例えば、以下のコードは、単純なループの進捗バーを表示する方法を示しています。
from tqdm import tqdm
for i in tqdm(range(100)):
# 何かを行う
上記のコードでは、tqdm ライブラリをインポートし、ループ内で tqdm 関数を呼び出しています。関数の引数は、range (100) などの反復可能なオブジェクトで、100 回のループを表します。各ループごとに、tqdm は自動的に進捗バーを更新します。
基本的な使用法以外にも、tqdm は進捗バーの外観や動作をより細かく制御するための多くの他の関数やパラメータを提供しています。以下にいくつかの一般的な関数とパラメータを示します。
- position:進捗バーのコンソール内の位置を指定します。
- leave:進捗バーが完了した後にコンソールに残るかどうかを指定します。
- desc:進捗バーの説明テキストを指定します。
- unit:進捗バーの単位を指定します。
- unit_scale:進捗バーのスケールファクターを指定します。
- ncols:進捗バーの幅を指定します。
- bar_format:進捗バーのフォーマットを指定します。
例えば、以下のコードは、進捗バーの外観や動作をカスタマイズする方法を示しています。
from tqdm import tqdm
for i in tqdm(range(100), position=0, leave=True, desc="処理中", unit="個", unit_scale=0.01, ncols=80, bar_format="{l_bar}{bar:20}{r_bar}{bar:-10b}"):
# 何かを行う
上記のコードでは、tqdm 関数内で複数のパラメータを指定しています。position=0 は、進捗バーがコンソールの最初の行に表示されることを意味します。leave=True は、進捗バーが完了した後もコンソールに残ることを意味します。desc="処理中" は、進捗バーの説明テキストが「処理中」であることを意味します。unit="個" は、進捗バーの単位が「個」であることを意味します。unit_scale=0.01 は、進捗バーのスケールファクターが 0.01 であることを意味します。ncols=80 は、進捗バーの幅が 80 文字であることを意味します。bar_format="{l_bar}{bar:20}{r_bar}{bar:-10b}" は、進捗バーのフォーマットが左側の境界、進捗バー、右側の境界、パーセンテージであることを意味します。
要するに、tqdm はプログラムの実行状況をより良く理解するのに非常に便利な Python ライブラリです。さまざまな進捗バースタイルやパラメータを提供しており、進捗バーの外観や動作を簡単にカスタマイズすることができます。大量のデータや時間のかかる操作を頻繁に処理する必要がある場合は、tqdm は試してみる価値があります。