進捗バーしたい(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を使うと、表示がおしゃれになります。