【Python入門シリーズ⑧】ライブラリでPythonの能力を拡張する

【Python入門シリーズ⑦】では、リストや文字列を使って複数のデータを効率的に扱う方法を学びました。

今回は、Pythonの最大の強みである「ライブラリ」について学びます。ライブラリとは、他の誰かが作った便利な機能の詰め合わせパック。これを使えば、複雑な処理を数行のコードで実現できます。AI開発でPythonが選ばれる理由の一つが、この豊富なライブラリエコシステムなのです。



このシリーズの目次


ライブラリとは?

ライブラリとは、よく使う機能をまとめた「便利な道具箱」です。

例えば、あなたがケーキを作るとき、小麦粉から練って生地を作るより、市販のホットケーキミックスを使った方が早いですよね。プログラミングも同じです。複雑な計算や処理を自分で一から書くのではなく、既に誰かが作った「実績のある部品」を使うことで、開発時間を大幅に短縮できます。

ライブラリの利点

利点説明
🚀 開発スピードUP複雑な処理を数行で実現
🛡️ 信頼性多くの開発者によってテスト済み
🔧 保守性バグ修正や機能追加が自動的に反映
🌍 コミュニティ困ったときの情報が豊富

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

Pythonのライブラリには大きく分けて2種類あります。

標準ライブラリ(Built-in Libraries)

Pythonをインストールすると最初から使えるライブラリ群。追加インストール不要。

ライブラリ用途
math数学関数(平方根、三角関数など)
random乱数生成
datetime日付・時刻の操作
osファイル・ディレクトリ操作
jsonJSONデータの読み書き

外部ライブラリ(External Libraries)

別途インストールが必要だが、より専門的で強力な機能を提供。

ライブラリ用途
numpy高速な数値計算
pandasデータ分析・表形式データ処理
matplotlibグラフ描画・データ可視化
scikit-learn機械学習
tensorflow / pytorch深層学習(ディープラーニング)

ライブラリのインポート方法

ライブラリを使うには、import文でプログラムに読み込む必要があります。

基本形:ライブラリ全体をインポート

import math

print(math.sqrt(16))  # 4.0
print(math.pi)        # 3.141592...
Python

エイリアス(別名)をつける

長いライブラリ名を短縮できます。

import numpy as np  # npという短い名前で使える

arr = np.array([1, 2, 3])
print(arr * 2)  # [2 4 6]
Python

特定の機能だけインポート

from math import sqrt, pi

print(sqrt(16))  # math.を書かなくてOK
print(pi)
Python

すべてをインポート(非推奨)

from math import *  # ⚠️ 名前の衝突リスクあり

print(sqrt(16))  # どこから来た関数か不明瞭
Python

👆 ベストプラクティス:
import ライブラリ as 短縮名 の形が最も推奨されます。コードの可読性が高く、どのライブラリの機能を使っているか明確だからです。


代表的な標準ライブラリ

追加インストール不要で使える便利な標準ライブラリを紹介します。

1. math – 数学関数

import math

print(math.sqrt(25))      # 平方根: 5.0
print(math.pow(2, 3))     # べき乗: 8.0
print(math.floor(3.7))    # 切り捨て: 3
print(math.ceil(3.2))     # 切り上げ: 4
Python

2. random – 乱数生成

import random

print(random.randint(1, 6))        # 1〜6のランダムな整数
print(random.choice(['A', 'B', 'C']))  # リストからランダム選択
print(random.random())             # 0.0〜1.0の小数
Python

AIの世界ではどう使われるの? 🤖
AIの学習では、データをランダムに並び替えたり、一部をランダムに選んで学習に使ったりします。この「ランダム性」が、AIが偏りなく学習するために重要なのです。

3. datetime – 日付・時刻

from datetime import datetime

now = datetime.now()
print(now)  # 2025-09-16 14:30:25.123456

print(now.year)   # 2025
print(now.month)  # 9
print(now.strftime('%Y年%m月%d日'))  # 2025年09月16日
Python

4. os – OS操作

import os

print(os.getcwd())           # 現在のディレクトリ
os.makedirs('data', exist_ok=True)  # フォルダ作成
print(os.listdir('.'))       # ファイル一覧
Python

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

外部ライブラリはpip(ピップ)というツールでインストールします。

インストール方法

ターミナル(コマンドプロンプト)で実行:

pip install numpy
pip install pandas matplotlib
Python

インストール確認

import numpy as np
print(np.__version__)  # バージョン表示: 1.24.3 など
Python

よくあるエラーと対処法

エラーメッセージ原因と対処法
No module named 'xxx'インストールされていない → pip install xxx
pip: command not foundPythonのパスが通っていない → python -m pip install xxx
権限エラー管理者権限が必要 → pip install --user xxx

AI・データサイエンスで必須のライブラリ

AI開発でよく使われる「Big 3」を紹介します。

1. NumPy – 数値計算の基盤

できること: 高速な配列計算、行列演算

import numpy as np

# 配列作成
arr = np.array([1, 2, 3, 4, 5])
print(arr * 2)       # [2 4 6 8 10]
print(arr.mean())    # 平均: 3.0

# 2次元配列(行列)
matrix = np.array([[1, 2], [3, 4]])
print(matrix.T)      # 転置行列
Python

AIの世界ではどう使われるの? 🤖
画像は数値の巨大な配列です。例えば1920×1080のカラー画像は、約600万個の数値で表現されます。NumPyはこれらを高速に処理できるため、画像認識AIの土台となっています。

2. Pandas – データ分析の必須ツール

できること: 表形式データの読み込み・加工・分析

import pandas as pd

# CSVファイルを読み込み
df = pd.read_csv('data.csv')

print(df.head())          # 最初の5行を表示
print(df['age'].mean())   # age列の平均
print(df[df['age'] > 30]) # 30歳以上を抽出
Python

データの例:

nameagecity
Alice25Tokyo
Bob30Osaka
Carol35Tokyo

3. Matplotlib – グラフ描画

できること: データの可視化、グラフ作成

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y)
plt.xlabel('X軸')
plt.ylabel('Y軸')
plt.title('簡単なグラフ')
plt.show()
Python

※ 詳しくは次回の第10回で解説します!


ライブラリの選び方

判断基準チェックポイント
人気度GitHub Starsやダウンロード数
📚 ドキュメント公式ドキュメントが充実しているか
🔄 更新頻度最終更新日が最近か
👥 コミュニティStack Overflowでの質問数
🏢 開発元信頼できる組織か個人か

まとめ

今回は、Pythonの能力を飛躍的に拡張するライブラリについて学びました。

今回のポイント

ライブラリ = 便利な機能の詰め合わせパック
標準ライブラリ = 最初から使える(math, random, datetimeなど)
外部ライブラリ = pip installでインストール(numpy, pandas, matplotlibなど)
インポート方法 = import ライブラリ as 短縮名 が推奨
AI開発の必須3ライブラリ = NumPy(数値計算)、Pandas(データ分析)、Matplotlib(可視化)

実践のヒント

  1. まずは標準ライブラリから: 追加インストール不要で学習しやすい
  2. 公式ドキュメントを読む習慣: 各ライブラリの公式サイトには豊富な例が載っている
  3. 小さく始める: 全機能を覚えようとせず、必要な機能から使ってみる

次回予告

次回の[第9回: ファイルの読み込みと書き込み]では、Pythonでテキストファイルやデータファイルを扱う方法を学びます。データをファイルに保存したり、大量のデータを読み込んで処理したりする実践的なスキルを身につけましょう!


練習問題

以下のコードを実行して、ライブラリの使い方に慣れましょう。

# 問題1: mathライブラリで円の面積を計算
import math
radius = 5
area = math.pi * radius ** 2
print(f"半径{radius}の円の面積: {area:.2f}")

# 問題2: randomでサイコロを10回振る
import random
results = [random.randint(1, 6) for _ in range(10)]
print(f"サイコロの結果: {results}")

# 問題3: datetimeで今日が何曜日か表示
from datetime import datetime
weekdays = ['月', '火', '水', '木', '金', '土', '日']
today = datetime.now().weekday()
print(f"今日は{weekdays[today]}曜日です")
Python

チャレンジ問題:
NumPyをインストールして、1から100までの数値の配列を作り、その平均・最大値・最小値を求めてみましょう!

↓↓↓答え

import numpy as np
arr = np.arange(1, 101)
print(f"平均: {arr.mean()}")
print(f"最大: {arr.max()}")
print(f"最小: {arr.min()}")

コメント

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