Pythonはライブラリが豊富でプログラムが書きやすいってよく聞きますよね。それを聞いてPythonの勉強をしたくなった方もいるかもしれません。
Pythonでソースコードを書く際に様々なライブラリを用いることで簡単に、そして素早くプログラムを書くことができます。実際に、Webに書いてある情報を別のファイルに自動でコピー&ペーストしてくれるなど、この機能あったら便利なんだけどな・・・と思う機能もネットで調べてみると、ライブラリで提供されていることもよくあるのだとか。
一方で、これからPythonの勉強を始める方にとっては、提供されているライブラリが豊富すぎてどのライブラリから使い方を勉強すれば良いかわからないですよね。そこでこの記事では、Python初学者向けにおさえておきたいライブラリについてお伝えします!
Pythonライブラリとは
Pythonのライブラリとは、複数のパッケージをまとめたものです。パッケージは複数のモジュールをまとめたもので、モジュールは複数の関数をまとめたものです。
つまり、
のような関係性があります。
ライブラリには、標準ライブラリと外部ライブラリがあります。標準ライブラリは、Pythonをインストールした際に標準でインストールされているライブラリです。そのため、自分でインストールをする必要はありません。
対して外部ライブラリは、標準ではインストールされておらず自分でインストールが必要なライブラリです。
ではここからは、各ライブラリの紹介しましょう。
まずはこれから!標準ライブラリ3選
標準ライブラリでおさえておきたいライブラリは3つです。
pip
Pythonで書かれたライブラリをインストールや管理をするためのライブラリがpip。ライブラリをインストールする場合、pip install ○○(インストールしたいライブラリ)とコマンドを打つとライブラリをインストールできます。また、ライブラリのバージョンを変更したい場合もpipを使って変更可能。
os
osはその名の通りOSの機能をPythonを書くことで動かすライブラリです。例えば、プログラムで特定のファイルがあるかどうかをチェックしたり、指定したパスに格納されているファイルやフォルダを確認する時に使うと便利でしょう。
datetime
日付や日時のデータを操作するためによく使われるのがdatetime。現在時刻を取得したり、2つの時点の時間差を簡単に計算することができるライブラリです。日時や曜日で場合わけをして処理を変える際に役立つに違いありません。
便利な外部ライブラリ4選
次に、便利な外部ライブラリを紹介します。
pandas
pandasはcsv、json、エクセルなどのファイルを読み込み、読み込んだデータの加工を行うことができるライブラリ。大量のデータを処理することもでき、他のライブラリと合わせて使うことで簡単にデータを図示したり、データの計算を行うことができます。
データ分析を行う前に、まずデータを可視化してデータの特徴をざっくりと捉えますが、その際のデータを読み込み、加工にpandasはよく使われています。
python-pptx
Python-pptxとは、Pythonを使って、パワーポイントの資料を作成するためのライブラリです。どの場所にどのような文字や図を配置するかをプログラムで指定するだけで簡単にパワーポイントを作成できます。予め決まったフォーマットに毎回グラフなどをパワーポイントに貼り付ける場合に役に立ちます。
Flask
Webアプリを短時間で作成したい場合によく使うのが、Flask。フレームワークがシンプルなため、初学者でも比較的簡単にWebアプリを作ることができます。例えば、Webブラウザから画像をアップロードして画像に写っている物を認識するツールのような小中規模のWebアプリを作る場合にFlaskを使うと良いでしょう。
Selenium
Seleniumは、Web画面から情報を抽出したり(Webスクレイピング)、Web画面を操作する場合に用います。Web画面にて単調なタスクを何回も繰り返しが必要な作業を自動化する際はSeleniumで自動化しましょう。
知っておきたい数学系のPythonライブラリ2選
ここからは、複雑な数式などを解く場合によく使われる数学系のライブラリを紹介します。
NumPy
数学系のPythonライブラリとしてまず紹介するのは NumPyです。NumPyは数値計算を行うライブラリですが、ndarrayという NumPyの配列用いて計算することにより、高速に計算を行うことができるライブラリです。最大値や標準偏差などを求める関数が用意されており、データを集計する際などにおすすめ便利なライブラリです。
SciPy
SciPyは科学(science)+Pythonが語源となっている通り、科学技術の計算を行うためのライブラリです。SciPyは NumPyを内包していており高速で計算を行います。SciPyは、 NumPyではできないフーリエ変換などの高度な計算を簡単に行うことができます。
以上が数学系のPythonライブラリです。
画像系のPythonライブラリ3選
続いて、画像系のPythonライブラリ3つ紹介します。
Pillow
Pillowは、画像のサイズ変更やトリミングなどの単純な処理をシンプルなコードで記載できるライブラリです。画像の色をグレースケールにしたりすることもでき、ディープラーニングで画像を扱う際のデータの前処理としてPillowを使うことが多々あります。
matplotlib
計算した結果をグラフや線、点などで図示したい場合によく使うのがmatplotlib(マットプロットリブ)です。読み込んだデータを可視化することでデータが持つ関係性を把握することができることがあるため、データ分析を行いたい方は使い方をマスターしましょう。
seaborn
seabornもデータの可視化を行うためのライブラリです。seabornはmatplotlibを内包しており、matplotlibよりもシンプルなコードで図示できるのが特徴です。また、グラフにグリッド線を簡単に入れることができmatplotlibよりも綺麗なグラフを描けるため、グラフを用いてデータの特徴について説明する場合にはseabornを用いると良いでしょう。
その他便利な神Pythonライブラリ
神Pythonライブラリとして紹介するのはPycaret (パイキャレット)です。
Pythonを勉強する方で、おそらく機械学習に興味を持つ方もいますよね。なんとPycaretは機械学習を行う際に必要なデータの前処理やモデルの開発をたった数行でできます!
また、データ分析を行うために機械学習モデルを作成する際は、いくつかのアルゴリズムを試して一番良い精度のアルゴリズムを選びます。アルゴリズムごとにソースコードを書く必要があるため時間がかかってしまうこともしばしば。
さらに、Pycaretはより精度をあげるためのチューニングも容易に行うこともできる優れ物です。機械学習を動かす際にパラメータをいくつか設定するのですが、そのパラメータをより良い設定にすることをチューニングといいます。
パラメータをチューニングすることで機械学習モデルの精度が変わるため大事な作業なのですが、Pycaretを使うと容易にチューニングを行うことができてしまいます。Pycaretはとても使いやすい便利なライブラリなので、是非使ってみましょう。
Pythonライブラリを使う場合の注意点
Pythonライブラリは頻繁にバージョンが更新されているものが多いです。バージョンアップすることでより便利な機能を使うことができるようになるのですが、問題点も発生します。
それは、古いバージョンでは用意されていた関数が最新バージョンでは削除されてしまい、動かなくなってしまうというケースがあることです。この場合は、知っておくべり標準ライブラリとして紹介したpipを使って古いバージョン指定してインストールすることで解決できます。
例えば、pandasの1.1.0という古いバージョンをインストールしたい場合は、
という風にインストールしたいライブラリの後に『==x.xx(バージョン数)』と書いてコマンドを打ちましょう。
また、ネットに載っているサンプルコードがプログラムエラーで動かない場合は、ライブラリのバージョンをネットのサンプルコードを実行した環境と合わせることでエラーが解消することがよくあります。ぜひ、試してみましょう。
さて、今回はPython初学者向けにおさえておきたいライブラリについてお伝えしました。
標準ライブラリ
pip・・・ライブラリのインストールや管理する
os・・・osの機能をPythonで動かす
datetime・・・日時の取得や計算などに利用する便利な外部ライブラリ
pandas・・・データの読み込みや加工を行う
python-pptx・・・Pythonでパワーポイントを作成する
Flask・・・小中規模のWebアプリを作成する
Selenium・・・ブラウザの操作を自動化する数学系のPythonライブラリ
NumPy・・・高速に数値計算を行う
SciPy・・・科学技術の計算を行う画像系のPythonライブラリ
Pillow・・・画像のサイズ変更やトリミング、画像の色変更を行う
matplotlib・・・データを可視化する
seaborn・・・matplotlibよりもシンプルなコードで明快な図示をできるその他便利な神Pythonライブラリ
Pycaret・・・データの前処理や機械学習モデルをシンプルなコードで実現する
紹介したライブラリは単体でも便利ですが、ライブラリをいくつか組み合わせることでより強力な便利ツールとして作用します。例えば、pandasでデータを読み込んで加工→seabornで加工したデータをグラフとして出力→グラフをpython-pptxでパワーポイントに挿入する等のようにすることで、定期報告書作成のようなタスクを自動化できるなんてことも。
実際にプログラムを書いて動かしてみることが、ライブラリに使い方をマスターする1番の勉強法です。やりたいことに合わせて今回紹介したライブラリを使いましょう!
【お知らせ】
当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。
御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。