Pythonの便利な神ライブラリ17選

Pythonのライブラリ12選 Python

「Pythonをインストールしたはいいけれど、ライブラリをまともに使ったことがない。初学者でも使える、とても便利な神ライブラリを教えてほしい!」

本記事は、こんな悩みを持ったPython初学者のための内容です。

そもそもライブラリとは、Pythonに機能を提供してくれるプログラムの集まりです。

モジュールやパッケージのことをライブラリと呼ぶこともあります。

Pythonはそもそも機能が少ない言語なので、ライブラリの種類が群を抜いて豊富。
一つ一つのライブラリの使い方を覚えていくことで、Pythonを使いこなせるようになっていきます。

そこで本記事では、Python初学者を抜け出すために役に立つ、簡単・便利なライブラリを12個厳選してご紹介します。

一つ先のステップに進みたいあなたは、必ずチェックしてください!

標準ライブラリと外部ライブラリ

具体的なライブラリを紹介する前にライブラリの2つの種類について説明しておきます。

まず、Pythonをインストールした時からもともと入っているライブラリを標準ライブラリと言います。

それに対してPythonに組み込まれておらず外部から読み込む必要のあるライブラリを外部ライブラリと言います。

外部ライブラリを使うためには最初にinstallが必要

この外部ライブラリを使うためにはあらかじめコマンドプロンプトやターミナルで

pip install 外部ライブラリ名

のコマンドを打ち込んでインストールしておく必要があります。(インストールしていない場合エラーとなります。)

外部ライブラリのインストール

ちなみに標準ライブラリーはインストールの必要はありません。

外部ライブラリの一覧を調べる方法

外部ライブラリは膨大な数が登録されています。

正直常に新しいライブラリが登録されているので、リストアップするのは難しいです。

登録されている外部ライブラリを調べるには下のPyPIのサイトで検索可能です。

PyPI · The Python Package Index
The Python Package Index (PyPI) is a repository of software for the Python programming language.

例えば検索窓に「twitter」と入れて検索すると

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

【実行結果】

alabaster==0.7.12
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())

【実行結果】

2019-07-15 16:45:02. 781002

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-07-15
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))

【実行結果】

3.141592653589793
1.6094379124341003
12.0

Numpy

科学技術計算などで使われる外部ライブラリです。
配列や行列の演算を高速で行うことができ、非常に人気のあるライブラリでもあります。

・配列の演算
・行列の演算

例えばこのように入力することで、配列の各要素を定数倍できます。

【コード】

import numpy as np

n_array = np.array([[1,2,3],[4,5,6]])
print(n_array * 5)

【実行結果】

[[ 5 10 15]
[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))

【実行結果】

[[0,0],[1,0],[0,1],[1,1]]の予測結果: [0 0 0 1]
正解率= 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 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を操る能力は、まさに未来を作っていくのです。

コメント

タイトルとURLをコピーしました