Pandas 徹底解説: Pythonでデータ分析をマスターしよう!


 

データサイエンス、機械学習、そしてあらゆるデータ処理において、PythonのPandasライブラリは、もはやデファクトスタンダードと言える存在です。表形式のデータを効率的に操作・分析するための強力なツールであり、その使いやすさから多くの開発者やデータアナリストに愛用されています。

この記事では、Pandasの基本的な使い方から、データ分析を効率化するための主要な機能まで、徹底的に解説します。


 

Pandasってどんなもの?

 

Pandasは、Pythonでデータ分析を行うためのオープンソースライブラリです。特に、表形式データ(Excelやデータベースのテーブルのようなデータ)を扱うのに特化しており、R言語のデータフレームに近い機能を提供します。

Pandasの核となるのは、以下の二つの主要なデータ構造です。

  1. Series(シリーズ): 1次元の配列のようなオブジェクトで、インデックス(ラベル)付きのデータを持つことができます。Excelの1列やデータベースの1カラムに似ています。

  2. DataFrame(データフレーム): 2次元の表形式データ構造です。行と列にそれぞれインデックス(ラベル)が付けられ、異なる型のデータを保持できます。Excelのシート全体やデータベースのテーブル全体に似ています。


 

なぜPandasを選ぶべきか?

 

数あるデータ処理ツールの中でPandasを選ぶメリットは多岐にわたります。

  • 直感的なデータ操作: SQLやExcelに慣れている人には、非常に直感的で理解しやすいAPIが提供されます。

  • 高速な処理: 内部的にNumPyをベースにC言語で書かれたコードを使用しているため、大量のデータを高速に処理できます。

  • 多様なデータ形式のサポート: CSV、Excel、SQLデータベース、JSONなど、様々な形式のデータを簡単に読み書きできます。

  • 欠損値の扱い: 欠損値(NaN)の検出、削除、補完など、データクレンジングに必須の機能が充実しています。

  • データ集計・変換: グループ化、ピボットテーブル、結合、マージなど、複雑なデータ変換や集計も簡単に行えます。

  • 統計分析との連携: SciPyやScikit-learnといった他の科学計算ライブラリとの連携もスムーズです。


 

Pandasを始めるための準備

 

 

1. インストール

 

Pandasはpipで簡単にインストールできます。通常、NumPyも同時にインストールされます。

Bash
 
pip install pandas numpy

 

Pandasの基本的な使い方

 

Pandasを使ったデータ分析の基本的な流れは以下の通りです。

  1. データの読み込み: CSVファイルやExcelファイルなどからデータを読み込み、DataFrameを作成します。

  2. データの確認: データの概要、型、欠損値などを確認します。

  3. データの選択・フィルタリング: 特定の列や行、条件に合致するデータを抽出します。

  4. データの操作・変換: 列の追加、値の変更、欠損値の処理などを行います。

  5. データの集計: グループ化して統計量を計算したり、ピボットテーブルを作成したりします。

 

最小限のサンプルプログラム

 

ここでは、CSVファイルからデータを読み込み、簡単な操作を行う例を見ていきましょう。

まずはsample_data.csvというファイルを作成し、以下の内容を記述します。

コード スニペット
 
Name,Age,City,Score
Alice,25,Tokyo,85
Bob,30,Osaka,92
Charlie,22,Tokyo,78
David,35,Nagoya,95
Eve,28,Osaka,88
Frank,40,Tokyo,70

次に、Pythonスクリプト(例: pandas_intro.py)に以下のコードを記述します。

Python
 
import pandas as pd

# 1. データの読み込み (CSVファイルからDataFrameを作成)
df = pd.read_csv("sample_data.csv")

print("--- データの概要 ---")
print(df.head()) # 最初の5行を表示
print("\n")

# 2. 特定の列の選択
print("--- 'Name'列と'Age'列の選択 ---")
print(df[['Name', 'Age']])
print("\n")

# 3. 条件による行のフィルタリング (例: Ageが30以上のデータ)
print("--- Ageが30以上のデータ ---")
print(df[df['Age'] >= 30])
print("\n")

# 4. 新しい列の追加 (例: Scoreを2倍にした列)
df['DoubleScore'] = df['Score'] * 2
print("--- 'DoubleScore'列を追加 ---")
print(df[['Name', 'Score', 'DoubleScore']])
print("\n")

# 5. データのグループ化と集計 (例: Cityごとの平均Score)
print("--- Cityごとの平均Score ---")
print(df.groupby('City')['Score'].mean())
print("\n")

# 6. データの保存 (CSVファイルとして保存)
df.to_csv("processed_data.csv", index=False) # index=Falseでインデックスを保存しない
print("処理済みデータを 'processed_data.csv' に保存しました。")

このコードを実行すると、データの読み込み、選択、フィルタリング、列の追加、そして集計といった基本的なPandasの操作が実行され、その結果がコンソールに出力され、新しいCSVファイルが生成されます。


 

Pandasの主要なデータ構造と機能

 

 

1. Series (シリーズ)

 

1次元データ構造で、NumPy配列と似ていますが、各要素にラベル(インデックス)を付けることができます。

Python
 
import pandas as pd

s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(s)
print(s['b']) # インデックスを使ってアクセス

 

2. DataFrame (データフレーム)

 

Pandasの中心となる2次元データ構造で、異なる型の列を持つことができます。辞書やリストから作成したり、CSV/Excelファイルから読み込んだりできます。

  • データの読み込み: pd.read_csv(), pd.read_excel(), pd.read_sql()など

  • データの書き出し: df.to_csv(), df.to_excel(), df.to_sql()など

  • データの確認: df.head(), df.tail(), df.info(), df.describe(), df.shape, df.columns

  • 列の選択: df['ColumnName'], df[['Col1', 'Col2']]

  • 行の選択: df.loc[] (ラベルベース), df.iloc[] (位置ベース)

  • 条件フィルタリング: df[df['Column'] > value]

  • 欠損値処理: df.isnull(), df.dropna(), df.fillna()

  • 集計: df.groupby(), df.pivot_table()

  • 結合・マージ: pd.merge(), pd.concat()


 

まとめ

 

この記事では、Pythonでデータ分析を行うための最も強力なライブラリであるPandasについて、その特徴、インストール方法、主要なデータ構造(SeriesとDataFrame)、そして基本的なデータ操作の例を徹底的に解説しました。

Pandasをマスターすることで、データの読み込みから、加工、集計、分析までを一貫して効率的に行えるようになります。データサイエンスの学習者から実務でデータを扱うプロフェッショナルまで、Pandasはあなたのデータ分析ワークフローに欠かせないツールとなるでしょう。

■プロンプトだけでオリジナルアプリを開発・公開してみた!!

■AI時代の第一歩!「AI駆動開発コース」はじめました!

テックジム東京本校で先行開始。

■テックジム東京本校

「武田塾」のプログラミング版といえば「テックジム」。
講義動画なし、教科書なし。「進捗管理とコーチング」で効率学習。
より早く、より安く、しかも対面型のプログラミングスクールです。

<短期講習>5日で5万円の「Pythonミニキャンプ」開催中。

<月1開催>放送作家による映像ディレクター養成講座

<オンライン無料>ゼロから始めるPython爆速講座