【Python中級】NumPy / pandas の基礎

Python中級

1.NumPy(ナンパイ)とは?

NumPy は、高速な数値計算を行うためのライブラリ です。

  • 大量のデータを高速処理できる
  • 行列(ベクトル)を扱いやすい
  • pandas の内部でも使われている

データ分析や AI の基礎ライブラリ。

(1)NumPy の基本

✔ インストール

pip install numpy

✔ NumPy を読み込む

慣習として np の別名を使う:

import numpy as np

✔ 配列(ndarray)の作成

import numpy as np

a = np.array([1, 2, 3])
print(a)

✔ 2次元配列(行列)

b = np.array([[1, 2], [3, 4]])

✔ 配列の形状(shape)

a = np.array([1, 2, 3])
b = np.array([[1, 2], [3, 4]])

print(a.shape)   # (3,)
print(b.shape)   # (2, 2)

✔ 要素ごとの計算(NumPy 最大の特徴)

a = np.array([1, 2, 3])

print(a * 2)       # [2 4 6]
print(a + 10)      # [11 12 13]

※ リストではできない高速ベクトル演算が可能

✔ 行列の演算(dot)

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])

print(np.dot(a, b))

✔ 統計計算

arr = np.array([1, 2, 3, 4, 5])

print(arr.mean())   # 平均
print(arr.sum())    # 合計
print(arr.std())    # 標準偏差

NumPy は 数学/統計/AI の土台

2.pandas(パンダス)とは?

pandas は、表形式データ(Excel や CSV)を扱うためのライブラリ

  • 行・列を持つ表形式「DataFrame」が基本
  • CSV, Excel, SQL を簡単に扱える
  • データ分析の標準ライブラリ

(1)pandas の基本

✔ インストール

pip install pandas

✔ pandas を読み込む

慣習として pd を使う:

import pandas as pd

✔ DataFrame の作成(表データ)

import pandas as pd

df = pd.DataFrame({
    "name": ["Alice", "Bob"],
    "age": [20, 25]
})

print(df)
出力例:
   name  age
0  Alice 20
1  Bob   25

✔ CSV ファイルの読み込み

df = pd.read_csv("data.csv")

✔ CSV への保存

df.to_csv("output.csv", index=False)

(2)行・列の取り出し

✔ 列の取り出し

df["name"]

✔ 複数列

df[["name", "age"]]

✔ 行の取り出し(loc / iloc)

df.loc[0]    # インデックス名で取り出す
df.iloc[0]   # 行番号で取り出す

(3)条件で抽出(フィルタリング)

df[df["age"] >= 21]

これは Excel の「フィルタ」のような機能。

(4)新しい列を追加

df["age2"] = df["age"] * 2

(5)欠損値(NaN)の処理

df.dropna()           # NaN を削除
df.fillna(0)          # NaN を 0 で埋める

(6)グループ化(groupby)

df.groupby("name")["age"].mean()

(7)集計(describe)

df.describe()

平均・中央値・標準偏差などを一括で確認できる。

3.NumPy と pandasの使い分け

ライブラリ得意なこと
NumPy高速な数値計算・行列計算
pandas表データ(行・列)の処理・CSV/Excel

pandas は内部計算で NumPy を使っているため、セットで覚えるのがベスト。

4.NumPy + pandas の実践例

import numpy as np
import pandas as pd

# データ生成
scores = np.random.randint(0, 100, 10)
df = pd.DataFrame({
    "score": scores
})

print(df.describe())

5.まとめ

NumPy

  • 数値計算・行列計算に強い
  • 配列(ndarray)を使って高速処理が可能
  • 科学計算・機械学習の基盤

pandas

  • CSV・Excel・SQL などの表形式データを扱う標準ツール
  • DataFrame によるデータ選択・集計・加工が簡単
  • ビジネス/データ分析/機械学習に必須
タイトルとURLをコピーしました