進捗バーしたい(tqdm
)
1from tqdm import tqdm
2
3for i in tqdm(range(3)):
4 time.sleep(1)
5
6100%|██████████| 3/3 [00:03<00:00, 1.00s/it]
tqdm
パッケージを使って、ループ処理中の進捗バーを表示できます。
使い方がとても簡単で、イテラブルな変数をtqdm(イテラブル)
の中にいれるだけです。
大きなループを回すときに設定すると、動作していることがぱっと見てわかるため安心です。
説明したい
1for i in tqdm(range(3), desc="進行状況):
2 time.sleep(1)
3
4進行状況: 100%|██████████| 3/3 [00:03<00:00, 1.00s/it]
desc
オプションで、進捗バーのプレフィックスを変更できます。
ネストしたループで使うと、どのループにいるのか分かりやすくなります。
表示幅を変更したい
1for i in tqdm(range(10), ncols=80)
ncols
オプションで、表示幅を変更できます。
デフォルトはターミナルの幅に合わせるようになっています。
ターミナルの大きさを途中で変更すると表示が崩れる場合があるので、
幅の上限値は指定しておくとよいと思います。
rangeしたい(tqdm.trange
)
1from tqdm import trange
2
3for i in trange(10000):
4 time.sleep(1)
trange
はtqdm(range)
を省略した形です。
少しだけタイピング量が減らせます。
pandasしたい(tqdm.pandas
)
1from tqdm import tqdm
2
3tqdm.pandas(desc="プログレスバーの説明")
4data.progress_apply(処理)
Pandasデータフレームに対する処理も進捗バーを表示できます。
tqdm.pandas
を呼ぶことで、
map
メソッド相当のprogress_map
、
apply
メソッド相当のprogress_apply
が使えるようになります。
ノートブックしたい(tqdm.notebook
)
1from tqdm.notebook import tqdm
2
3for i in tqdm(range(10)):
4 time.sleep(1)
Jupyter Notebookで使う場合はtqdm.notebook
を使うと、表示がおしゃれになります。