Pandas

Pythonのデータ分析と機械学習において、「Pandas」は非常に重要なライブラリの一つです。Pandasは、構造化データの操作や解析を効率的に行うための高性能なデータ構造と関数群を提供しています。以下に、Pandasの基本的な特徴と機能について詳しく説明します。


1. Pandasとは何か

Pandasは「Python Data Analysis Library」の略で、NumPyの上に構築されたライブラリです。主に次の2つのデータ構造を中心に設計されています:

  • Series: 一次元のラベル付き配列。NumPy配列に似ていますが、インデックスラベルを持ちます。

  • DataFrame: 二次元のラベル付きデータ構造。行と列の両方にラベルがあり、表形式のデータ(CSVやExcelなど)を扱うのに適しています。


2. Pandasの主な機能

2.1 データの読み込みと書き出し

Pandasは多くの形式のデータファイルを読み書きする機能を備えています。

python
import pandas as pd # CSVファイルの読み込み df = pd.read_csv("data.csv") # Excelファイルの読み込み df = pd.read_excel("data.xlsx") # データの保存 df.to_csv("output.csv", index=False)

2.2 データの確認と要約

python
df.head() # 最初の5行を表示 df.info() # データ型や欠損値の情報 df.describe() # 統計的な要約(平均、標準偏差、四分位数など)

2.3 データの選択とフィルタリング

python
df['列名'] # 特定の列の選択 df.loc[行ラベル] # 行ラベルによるアクセス df.iloc[行番号] # 行番号によるアクセス df[df['列名'] > 100] # 条件によるフィルタリング

2.4 データのクリーニング

  • 欠損値の処理

    python
    df.dropna() # 欠損値を含む行を削除 df.fillna(0) # 欠損値を0で埋める
  • データ型の変換

    python
    df['日付'] = pd.to_datetime(df['日付']) # 文字列を日時型に変換

2.5 データの集計とグループ化

python
df.groupby('カテゴリ')['売上'].sum() # カテゴリごとの売上合計 df.pivot_table(index='月', columns='商品', values='売上', aggfunc='sum')

2.6 時系列データの処理

Pandasは時系列データの操作に強く、リサンプリングや移動平均、日付の操作などが可能です。

python
df.set_index('日付', inplace=True) df.resample('M').mean() # 月ごとの平均を計算

3. Pandasと機械学習

機械学習では、Pandasを使って以下のような前処理を行います:

  • 特徴量の抽出・選択

  • 欠損値処理

  • カテゴリ変数のエンコーディング(pd.get_dummies()

  • 正規化や標準化の前段階の準備

  • 学習データとテストデータの分割(train_test_splitと併用)

python
from sklearn.model_selection import train_test_split X = df.drop('目的変数', axis=1) y = df['目的変数'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

4. Pandasの利点

  • 直感的で簡潔なコード記述

  • 高速なデータ操作

  • 多様なデータ形式への対応

  • NumPyとの高い親和性

  • 他のライブラリ(Matplotlib、Scikit-learn、Seabornなど)との統合が容易


まとめ

PandasはPythonによるデータ分析の基盤となるライブラリであり、表形式データの読み込み、操作、加工、可視化、機械学習前処理まで幅広く利用されます。Pandasを習得することは、データサイエンスや機械学習の実務において不可欠です。

生成日:2025/05/03