ここでは、tqdmを用いたプログレスバーでの進捗状況の可視化について解説しています。
この記事の対象
Tqdmのインストール
「tqdm」は外部ライブラリです。準備として、以下をインストールします。
$ pip install tqdm
目的
大量のデータを操作する際、どのくらいの進捗状況なのか知りたいときに使用しました。
以下のプログラムは、pandasで複数のcsvファイルを読み込んだ時に可視化したものになります。
プログラム
デフォルトのtqdm
from tqdm import tqdm
import time
import glob
import pandas as pd
#1---フォルダ内のCSVファイルの一覧を取得
files = sorted(glob.glob('*.csv'))
#2---ファイル数を取得
file_number = len(files)
#3---CSVファイルの中身を読み出して、リスト形式にまとめる
csv_list = []
for file in tqdm(files):
csv_list.append(pd.read_csv(file,encoding='shift_jis',skiprows=[1]))
time.sleep(1)
#100%|█████████████████████████████████████████████████████| 11/11 [00:11<00:00, 1.03s/it]
上記のプログラムで、進捗状況を知りたかったのはデータの読み込みの進捗状況でした。
よって、ここではfor構文で使用しました。
プログレスバーの名前設定 ⇒ desc
from tqdm import tqdm
import time
for i in tqdm(range(100), desc="Going"):
time.sleep(1)
#Going: 90%|██████████████████████████████████████████████████████████████████▌ | 90/100 [01:31<00:10, 1.01s/it]
プログレスバーに名前を設定する事も可能です。使用する際は引数に「desc」を設定するだけです。
まとめ
プログレスバーを用いるときはtqdmを使用することで可視化できます。
大量のデータを操作している際、ほんとに操作できているのか気になるときにプログレスバーを用いるのも有効です。