Pythonでデータ分析を始めようとすると、必ず出てくるのが「pandas(パンダス)」です。
pandasは、Excelのような表データをPythonで扱えるライブラリで、データ分析の現場ではほぼ必須といっていい存在です。
ただし、初めて触れると「何をしているのか分からない」と感じやすいのも事実です。
この記事では、pandasの基本的な考え方から、よく使う操作までをシンプルなコード付きで分かりやすく解説していきます。
Pythonの導入についてはこちら。
Python入門:最初のプログラムを作って実行する方法 – Lean Data Office
Python環境構築のやり方|初心者向け完全ガイド – Lean Data Office
pandasとは?
pandasは、表形式のデータを扱うためのライブラリです。
イメージとしては「ExcelをPythonで扱うためのツール」と考えるとわかりやすいです。
たとえば、次のようなデータを扱うときに使います。
名前 年齢 国
田中 25 日本
John 30 アメリカ
このような「表(テーブル)」をそのままプログラムの中で操作できるのがpandasの強みです。
まずは基本となる読み込みです。
import pandas as pd

ほぼすべてのサンプルでこの書き方を使います。pdという短い名前で扱うのが慣例です。
pandasの中心となるのが「DataFrame(データフレーム)」です。
これは2次元の表データです。
DataFrameを作成する
簡単な例で見てみます。
data = {
"名前": ["田中", "John", "佐藤"],
"年齢": [25, 30, 22],
"国": ["日本", "アメリカ", "日本"]
}
df = pd.DataFrame(data)

実行すると、次のように表示されます。
print(df)

このように、辞書から簡単に表形式データを作ることができます。
最初にやる基本操作として、データの中身を確認する方法があります。
print(df.head())
これは先頭5行を表示します。
print(df.info())

こちらは、データ型や欠損値の有無を確認できます。
列を取り出す
特定の列だけを取り出す操作もよく使います。
print(df["名前"])

このように書くと、「名前」の列だけを取り出せます。
さらに複数列の場合はこうなります。
print(df[["名前", "年齢"]])

ここで、[]の中がリストになっている点がポイントです。
条件でデータを絞り込む
pandasの強力な機能の一つが「条件抽出」です。
たとえば「年齢が25以上の人」を取り出す場合:
filtered = df[df["年齢"] >= 25]
print(filtered)

このように書くだけで、条件に一致する行だけを取得できます。
新しい列を追加する
データを加工する際に、新しい列を追加することもよくあります。
df["年齢+5"] = df["年齢"] + 5

これで「5年後の年齢」の列が追加されます。
補足:CSVファイルの読み込みと保存
実務ではファイルを扱うことが多くなります。
CSVの読み込みは次のように書きます。
df = pd.read_csv("data.csv")
保存はこうです。
df.to_csv("output.csv", index=False)
※index=Falseをつけることで、余計な番号列が出力されません。
入門記事なので、補足的に触れるのみとし、詳細は以下の記事で解説していますので参照ください。
Python入門:pandasでCSVを読み込み・加工・保存する一連の流れをやさしく解説 – Lean Data Office
pandasは次のような場面でよく使われます。
- Excel作業の自動化
- データの集計や加工
- ログの分析
- 機械学習の前処理
特に「手作業でやっていたExcel処理」を減らす場面では非常に効果的です。
pandasは最初こそ取っつきにくいですが、基本操作はそこまで多くありません。
今回紹介した内容を整理すると、
- DataFrameが中心のデータ構造
- 列アクセスは
df["列名"] - 条件抽出は
df[条件] - 列追加は代入でOK
このあたりを押さえるだけでも、できることが一気に広がります。
最初は小さなデータで試しながら、「何ができるか」を体感していくのが一番の近道です。
慣れてくると、Excelでは面倒だった作業を一瞬で処理できるようになります。