pythonコード プログラミング系 python データサイエンス 非エンジニア向け

pythonの「tqdm」って何?簡単な例を用いて使い方を紹介

こんにちは、ちくたっくです。
今回は、pythonで使えるライブラリ「tqdm」について紹介していきたいと思います。

結論からお伝えすると、tqdmは「進捗状況や処理状況をプログレスバー(ステータスバー)として表示」する機能のことを言います。

データサイエンス領域やビッグデータを扱う場面において、「データを読み込むのにあとどれくらい時間がかかるんだろう」とか、「加工データをファイルとして出力するのにどれくらい時間がかかるか知りたい」といった時に使える方法となります。

【こんな人に読んで欲しい記事です】

● pythonライブラリ「tqdm」の使い方を知っておきたい方

● 自分で書いたコードの処理状況や進捗状況を「プログレスバー」として表示させたい方

自分が日頃書いているコードに簡単に組み込むことが出来るので、「pythonを始めたばかり」という方でも是非チャレンジしてみてください。

ステータスバーを表示させることで、見た目も多少カッコ良くなるので、モチベーションアップにも繋がるかもしれません。

必要ライブラリのインポート

まず最初に、今回使うライブラリをインポートしておきます。

今回の目的である「プログレスバー」を表示させるためには「tqdm」だけで十分ですが、イメージしやすいように他のライブラリも合わせてインポートしています。

今回使うライブラリのインポート

「tqdmは初めて使うよ!」という方は、pipコマンドで別途インストールするようにしてください。
(既にインストールされていればOKです。)

tqdmの使い方①|数字を表示させる

最初はシンプルな例を用いて使い方を紹介します。
数字「0」から「9」までを表示させる場合、コードは以下のようになりますね。

数字「0」から「9」を表示させるコード

このシンプルなコードに「tqdm」を組み込むと、以下のようになります。
ポイントは「for文のin直後にtqdmを加える」点です。

【具体例①】 「tqdm」の使い方イメージ

シンプルですが、この使い方さえわかれば色々と応用が効くので試してみてください。

tqdmの使い方②|データセットをファイルに保存

もう一つ、別の例を紹介しておきます。
何かしらの「処理」に関する進捗状況を「プログレスバー」として表示する点は(当然)同じです。

ここでは、sklearnライブラリのデータセット「アヤメデータ」を「npyファイル」として保存する処理をしていきたいと思います。「npyファイル」というのは、簡単に言えばnumpy形式の行列値が格納されたファイルです。

最初に、アヤメデータを読み込んでデータフレーム形式として整えておきます。

アヤメデータセットをpandasを用いてDataFrameとしておく

続いて、「label」が「0(setosa)」の品種だけを対象に、1行ごとにnpyファイルに変換していく処理をしていきます。この時に、ファイル出力に要する時間を把握する目的で「tqdm」を組み込むイメージです。

【具体例②】 「tqdm」の使い方イメージ

ファイルの出力が完了する間、上記のようにプログレスバーを表示させることが出来ました。
細かいコードの中身より、「こんな感じで使えるのね」と雰囲気を知ってもらえれば十分です。

参考程度ですが、上記コードの結果出力されたファイルが以下です。
「setosa」フォルダに観測値分の合計50個のファイルが作られているのがわかります。

【参考】npyファイルの出力結果(1/2)
【参考】npyファイルの出力結果(2/2)

さいごに

今回は、コードの処理状況を「プログレスバー」として表示する「tqdm」という方法を紹介してきました。

pythonに限った話ではありませんが、プログラミングスキルが上がれば上がるほど扱うデータも複雑になり、処理状況に時間がかかるケースは増えてきます。

そんな時こそ、tqdmプログレスバーを利用した「状況の可視化」を活用してみてください。

僕がtqdmを活用し始めたのは、個人でビッグデータ処理の案件を受注したのがキッカケでした。
実務案件は自分のデータ分析力をアップさせる近道と思って始めたのですが、tqdmの存在も(実は)その時に知りました。

「どうやって案件を獲得したのか?」というと、僕の場合はAI専門エージェント「BIGDATA NAVI」経由で案件を紹介してもらっていました。データ分析力をあげるため、最初はKaggleなどのデータ分析コンペに取り組んでいたのですが、企業案件の方が成長の近道と感じ始めて利用したのが背景です。

具体的には、pythonを使ったデータ分析案件や機械学習・人工知能関係の案件数が豊富&高単価なので、実務経験を積みたい方や将来的に副業/フリーランスを視野に入れている方にもオススメ出来ると思います。

無料カウンセリングを通じて案件獲得が出来るので、自分のレベルに合った案件を通じた更なるレベルアップを目指す方法としてかなり裏技的に使えると思います。

みなさんも実務でtqdmを実際に使いこなしてみてください!
本記事がみなさまの役に立てればうれしいかぎりです。それではまた。