「Pythonをインストールしたはいいけれど、ライブラリをまともに使ったことがない。初学者でも使える、とても便利な神ライブラリを教えてほしい!」
本記事は、こんな悩みを持ったPython初学者のための内容です。
そもそもライブラリとは、Pythonに機能を提供してくれるプログラムの集まりです。
モジュールやパッケージのことをライブラリと呼ぶこともあります。
Pythonはそもそも機能が少ない言語なので、ライブラリの種類が群を抜いて豊富。
一つ一つのライブラリの使い方を覚えていくことで、Pythonを使いこなせるようになっていきます。
そこで本記事では、Python初学者を抜け出すために役に立つ、簡単・便利なライブラリを12個厳選してご紹介します。
一つ先のステップに進みたいあなたは、必ずチェックしてください!
【最新】はじめてPythonをインストールするための手順についてOS別(Windows10, Mac)で解説
標準ライブラリと外部ライブラリ
具体的なライブラリを紹介する前にライブラリの2つの種類について説明しておきます。
まず、Pythonをインストールした時からもともと入っているライブラリを標準ライブラリと言います。
それに対してPythonに組み込まれておらず外部から読み込む必要のあるライブラリを外部ライブラリと言います。
外部ライブラリを使うためには最初にinstallが必要
この外部ライブラリを使うためにはあらかじめコマンドプロンプトやターミナルで
pip install 外部ライブラリ名
のコマンドを打ち込んでインストールしておく必要があります。(インストールしていない場合エラーとなります。)
ちなみに標準ライブラリーはインストールの必要はありません。
外部ライブラリの一覧を調べる方法
外部ライブラリは膨大な数が登録されています。
正直常に新しいライブラリが登録されているので、リストアップするのは難しいです。
登録されている外部ライブラリを調べるには下のPyPIのサイトで検索可能です。
例えば検索窓に「twitter」と入れて検索すると
上のようにたくさんのライブラリを見つけることができます。
ライブラリをプログラム内で読み込むためには、importが必要
次に、importについて軽く解説します。
importは、ライブラリを読み込むためのコードです。
使い方としては、importと入力した後に半角スペースを空け、ライブラリなどimport可能なファイル名を入力します。
これを実行することで、そのライブラリの機能が使えるようになるのです。
とても便利な外部ライブラリ
まずここでは、中級者向けのとても便利な外部ライブラリを紹介します。
iclawler
iclawlerはキーワードを指定して、まとまった画像を一気にダウンロードできるライブラリーです。
機械学習などのトレーニング用の画像をキーワード指定で一気に集められるのがこのライブラリ。
100枚など枚数を決めてダウンロードすることができます。
フォルダを作って指定のキーワードでネット上にある画像を集めてくれるので、とても便利です。
PyCaret
わずか数行という簡単なコードの記述のみで機械学習の前処理、モデルの構築、はたまたデータ可視化まで行ってくれるライブラリです。
機械学習でおなじみのscikit-learnなどのライブラリの機能を含んでいます。
PyCaret2.0ではautomlの機能が追加され、かなりパワーアップされました。
正直AUTO MLか!とまで言われたライブラリ。
機械学習入門者にはぜひ使って欲しい。
pickle
pickleはあらゆるデータを保存しておくのに便利なライブラリ。
リスト、文字列、クラスのインスタンス、データフレームなど色々なデータをバイナリファイル形式に変換して保存することができ、呼び出すのも簡単です。
メリットはプログラムをシャットダウンしてもデータが保存されていること、CSVからの読み込みよりもスピードが数十倍から100倍程度早いことなどです。
pytube
Youtubeの動画をダウンロードすることができるライブラリです。
例えば動画の文字起こしのプログラムを作るために、何か適当な動画を使いたいなどの理由で使えます。
pytubeを使えば、好きな動画を指定して自由にダウンロードすることができるので、便利です。
システムに関するライブラリpipとsys
次に使用頻度が比較的高い標準ライブラリであるpipとsysについて説明していきます。
pip
pipは標準ライブラリで、ライブラリを管理するためのライブラリです。
Pythonを使う上では必須のライブラリの一つといえます。
・新規ライブラリをインストール、削除する
・インストールしたライブラリの情報を表示する
・管理しているライブラリを一覧形式で表示する
ここでは、例としてpip管理のライブラリを一覧で表示しています。
「pip freeze」と入力して実行するだけで、いつでも情報が確認できます。
【コード】
pip freeze
【実行結果】
anaconda-client==1.7.2
anaconda-navigator==1.9.7
anaconda-project==0.8.2
asnicrypto==0.24.0
astroid=2.2.5
astropy==3.1.2
atomi cwrites==1.3.0
attrsr=19.1.0
Babel==2.6.0
backcall==0.1.0
backports. os==0.1.1
backports. shutil-get-terminal-size==1.0.0
beautiful soup4==4.7.1
bitarray==0.8.3
sys
こちらも標準ライブラリです。
「システムパラメーター」という、システムの挙動に外部から干渉できるデータに関する関数が含まれています。
・入力したプログラムを早期終了させる
この例の場合は、表示の途中でシステムが終了するようにsys.exitと入力しました。
出力のコード「print」によって、通常は「こんばんは」まで表示されるところを、sysが早期終了させています。
【コード】
import sys print('おはようございます') print('こんにちは') sys.exit() print('こんばんは')
【実行結果】
こんにちはAn exception has occurred. use %tb to see the full traceback.SystemExit
日付についてのライブラリdatetime、dateutil、calendar
次に日付やカレンダーの表示のために必要なライブラリについて紹介していきます。
datetime
datetimeはPythonの標準ライブラリです。
datetimeの主な機能は、時刻に関するものです。
・現在の日付と時刻の取得
・年月日から時分秒までを単体で取得
・日付の足し算や引き算
例えば、現在の時刻を取得するためにはこのように入力します。
【コード】
import datetime print(datetime.datetime.now())
【実行結果】
dateutil
dateutilは、日付に関する外部ライブラリです。
Pythonに標準装備されていないためインストールが必要になりますが、pipから簡単にインストールできます。
dateutilは、標準ライブラリであるdatetimeの扱いにくさ、機能不足を補ってくれます。
dateutilの主な機能はこちらです。
・現在時刻の取得
・日付の足し算と引き算
こちらの例では、本日の日付に「3か月」足し算した日付を出しています。
【コード】
from dateutil.relativedelta import relativedelta today = datetime.date.today() print(today) print(today + relativedelta(months=+3))
【実行結果】
2019-10-15
calendar
その名の通りカレンダーの表示や、日付の計算等ができます。
日付データを表示するライブラリとしてある程度便利です。
例えば、このようにシンプルなカレンダーを作ることができます。
【コード】
from calendar import TextCalendar tcalendar = TextCalendar (firstweekday=6) print (tcalendar. formatmonth (2019, 7))
【実行結果】
数学系のライブラリmath、Numpy、matplotlib
数学系のライブラリには、特に簡単で便利な機能が充実しています。
math
数学に関する関数が含まれている標準ライブラリです。
・円周率などの表示
・平方根や自然対数などの計算
ここでは例として、mathにある各オブジェクトコードをimportしました。
「pi」は円周率、「log」は自然対数、「sqrt」は平方根を計算するためのオブジェクトコードです。
【コード】
from math import pi from math import log from math import sqrt print(pi) print(log(5)) print(sqrt(144))
【実行結果】
1.6094379124341003
12.0
Numpy
科学技術計算などで使われる外部ライブラリです。
配列や行列の演算を高速で行うことができ、非常に人気のあるライブラリでもあります。
・配列の演算
・行列の演算
例えばこのように入力することで、配列の各要素を定数倍できます。
【コード】
import numpy as np n_array = np.array([[1,2,3],[4,5,6]]) print(n_array * 5)
【実行結果】
[20 25 30]]
matplotlib
データをグラフ化するのに非常に便利なのが、このmatplotlibです。
・sinやcosの計算式をグラフ化
・グラフにタイトル、軸名、凡例などを付ける
・グラフの線の色、線種を変更できる
matplotlibは、mathや numpyとも相性がいいです。
例えばこの場合は、numpyで計算した結果をmatplotlibでグラフとして表示しています。
コードの最初の因数がx軸、次の因数がy軸を表します。
【コード】
import numpy as np import matplotlib. pyplot as pit x = np. arange (0, 10, 0.1) y = np. cos (x) pit. plot (x, y) pit. show
【実行結果】
統計・データ処理についてのライブラリpandas、sklearn
次はデータの処理やCSVファイルを扱える外部ライブラリであるpandasとsklearnの紹介です。
pandas
データの統計量の表示や、そのグラフ化ができます。
Pythonでデータ分析や機械学習を行う場合には必須となるライブラリです。
・データ概要の表示
・データの行数列の表示
・統計量を表示
この例は、pandas内蔵のサンプルデータを読み込んで表示したものです。
【コード】
import pandas as pd from pandas import DataFrame import numpy as np from sklearn import datasets boston = datasets. load_boston() df = DataFrame (boston, data, columns = boston. feature_names) df.head()
【実行結果】
sklearn
こちらは、比較的簡単な機械学習アルゴリズムです。
学習させたいデータを入力して学習させ、予測したいデータを入力することで予測の正答率を算出することができます。
・分類
・回帰
・クラスタリング
こちらの例では、まずtest_dataを学習させ、入力したtest_labelと照らし合わせた分類をしています。
【コード】
from sklearn. svm import Linear SVC from sklearn. metrics import accuracy_score learn_data=[[0,0],[1,0],[0,1],[1,1]] learn_label=[0, 0, 0, 1] clf=LinearSVC() clf.fit(learn_data, learn_label) test_data=[[0,0],[1,0],[0,1],[1,1]] test_label=clf.predict (test_data) print (test_data, "の予測結果:", test_label) print("正解率=", accuracy_score([0,0,0,1], test_label))
【実行結果】
正解率= 1.0
画像処理ライブラリPillow、OpenCV
次は画像処理に便利な外部ライブラリーである、PillowとOpenCVについて紹介します。
Pillow
基本的な画像処理を行うライブラリです。
次に紹介する「OpenCV」のような高度な処理はできないものの、シンプルな構造で使いやすいという特徴があります。
・画像の表示
・画像のリサイズ
・画像のトリミング
この例では、コード入力によってあらかじめ読み込んでおいた画像を表示しています。
【コード】
from PIL import Image,ImageFilter im = Image.open("PixabayImage_2019-06-19_14-38-56.jpg") im show()
OpenCV
コンピュータで画像、データを処理するのに便利な様々な機能を備えています。
Pythonで画像処理を行う場合は欠かせないライブラリです。
・画素データの表示
・輪郭の抽出
・合成
この例では、ネットから拾ってきた画像をurllib.requestでダウンロードし、OpenCVで読み込むことで画素データを表示しました。
【コード】
import urllib.request as req url = "http://www.wallpaper-box.com/cat/19201080/images/cat13.jpg" req.urlretrieve(url."test.jpg") import cv2 img = cv2.imread("test.jpg") print(img)
【実行結果】
[242 239 234]
[242 239 234][242 240 230]
[242 240 230]
[242 240 230]][[242 239 234]
[242 239 234]
[242 239 234]
TWINT
TWINTはツイッターのスクレイピングライブラリーです。
ツイッターAPIなしにツイートをスクレイピングできます。
インストールは
pip install twint
でできます。
次の例では、https://twitter.com/uuyr112
のアカウントから、pythonというキーワードでツイートを検索してくれます。
【コード】
import twint # Configure c = twint.Config() c.Username = "uuyr112" c.Search = "python" # Run twint.run.Search(c)
まとめ
ここまでにご紹介したライブラリは、大きく5種類に分けられます。
1.システムに関するライブラリ
2.日付についてのライブラリ
3.数学系のライブラリ
4.統計やデータ処理についてのライブラリ
5.画像処理ライブラリ
本記事では初心者でも始めやすく、かつ便利な12種類のライブラリをご紹介しました。
これらの機能を使えるようになるだけで、Pythonでできる事が一気に広がるはずです。
実はこれらのライブラリにも、紹介しきれなかった機能がまだまだあります。
基本的な機能から始め、どんどん複雑なライブラリを使えるように学習していきましょう。
特にこれから発展していくとされる機械学習やAIは、まさにPythonの専門分野。
Pythonには未だに無限の可能性が眠っているといっても決して過剰ではありません。
ライブラリを使いこなすことでPythonを操る能力は、まさに未来を作っていくのです。
コメント