Pythonは「豊富なライブラリがある」ことで非常に人気の高いプログラミング言語です。
ライブラリとは、特定の機能や処理を簡単に実現するためにまとめられたプログラムの集まりのことを指します。
Pythonには、データ分析、機械学習、Web開発、画像処理など、あらゆる分野に特化したライブラリが用意されており、それらを活用することで、初心者でも短期間で高度なアプリケーションを開発することができます。
この記事では、特に人気があり、よく使われるPythonライブラリをジャンル別に紹介し、それぞれの特徴や基本的な使い方をわかりやすく解説します。
これからPythonを学ぶ方も、すでにPythonに触れている方も、ぜひ参考にしてください。
Pythonには最初から多くの「標準ライブラリ」が組み込まれています。
これらは追加インストール不要で、すぐに利用できるのが特徴です。
標準ライブラリを活用することで、日常的なプログラミング作業がぐっと楽になります。
import math
print(math.sqrt(16)) # 4.0
標準ライブラリだけでもかなりの開発が可能です。まずはここから押さえましょう。
データを扱う分野では、Pythonはほぼデファクトスタンダードになっています。
以下のライブラリは特に必須です。
数値計算のためのライブラリです。配列操作、線形代数、統計処理などが得意です。
import numpy as np
a = np.array([1, 2, 3])
print(a * 2) # [2 4 6]
データフレーム(表形式データ)を扱うためのライブラリです。
CSVやExcelファイルの読み書きも簡単にできます。
import pandas as pd
df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
print(df)
グラフ描画に特化したライブラリです。
matplotlibは基本的なグラフ、seabornはより美しいデザインのグラフを描けます。
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.show()
AI開発にもPythonは欠かせません。代表的なライブラリを紹介します。
機械学習の定番ライブラリです。回帰、分類、クラスタリングなどが簡単に試せます。
from sklearn.linear_model import LinearRegression
model = LinearRegression()
ディープラーニング(深層学習)に特化したライブラリです。
TensorFlowはGoogle製、PyTorchはFacebook製ですが、どちらも人気があります。
import torch
x = torch.tensor([1.0, 2.0, 3.0])
print(x)
初心者にはscikit-learn、中級者以上にはTensorFlowやPyTorchがおすすめです。
WebサイトやAPIを作る際によく使われるライブラリです。
軽量なWebアプリケーションフレームワークです。
簡単なサイトなら数行で立ち上がります。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
大規模なWebアプリケーション向きのフルスタックフレームワークです。
認証機能や管理画面などが最初から備わっています。
どちらを選ぶかは、作るアプリケーションの規模によって決めるとよいでしょう。
画像や映像を扱うならこれらが便利です。
画像ファイルの読み込み、加工、保存などができます。
from PIL import Image
img = Image.open('example.jpg')
img.show()
より高度な画像処理、物体検出、顔認識などができます。
import cv2
img = cv2.imread('example.jpg')
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
OpenCVは本格的なコンピュータビジョン分野でよく使われます。
作業自動化やWebサイトから情報収集を行うならこちらです。
Webページにアクセスしてデータを取得するためのライブラリです。
import requests
r = requests.get('https://www.example.com')
print(r.text)
取得したHTMLデータを解析するためのライブラリです。
from bs4 import BeautifulSoup
soup = BeautifulSoup(r.text, 'html.parser')
print(soup.title.text)
この2つを組み合わせることで、Webスクレイピングが可能になります。
最後に、ジャンルに縛られず便利なライブラリをいくつか紹介します。
処理の進捗バーを表示できるライブラリです。ループの進捗が見える化できます。
from tqdm import tqdm
import time
for i in tqdm(range(10)):
time.sleep(0.1)
エラーや動作ログを出力するための標準ライブラリです。
printよりも本格的なログ管理ができます。
import logging
logging.basicConfig(level=logging.INFO)
logging.info('This is an info message.')
Python用のテスト自動化ライブラリです。品質保証のために重宝します。
def add(x, y):
return x + y
def test_add():
assert add(2, 3) == 5
Pythonは本当にたくさんのライブラリがあり、それぞれ専門分野で威力を発揮します。
この記事で紹介したライブラリを押さえておけば、ほとんどのPython開発に対応できるでしょう。
ポイントは、最初は全部覚えようとしないことです。
必要に応じて「こんなライブラリがある」と知識としてストックしておき、実際に必要になったときに使い方を詳しく調べる、という流れが理想です。
Pythonの世界は広く深いですが、ライブラリを味方につけることで、できることは無限に広がります。
ぜひ、自分の興味のある分野から、少しずつライブラリを使いこなしていきましょう!