サイトアイコン 【TechGrowUp】

Python開発入門37 Pandasの基本と応用

はじめに

Pythonでデータ分析を行う際、Pandasは最も重要なライブラリの1つです。Pandasは、データの操作、クリーニング、分析を効率的に行うための豊富な機能を提供します。

この記事では、Pandasの基本的な使い方から、データフレームやシリーズを活用したデータ操作の方法、さらに応用的な分析技術までを詳しく解説します。

Pandasとは

Pandasの概要

Pandasは、Pythonでデータ操作を効率化するためのオープンソースライブラリです。以下のような機能を提供します:

Pandasの主な特徴

  1. データ構造のサポート
    Pandasは、DataFrame(2次元データ)とSeries(1次元データ)という柔軟なデータ構造を提供します。
  2. 多様なデータ形式の処理
    CSV、Excel、JSON、SQLデータベースなど、さまざまな形式のデータを読み込めます。
  3. 豊富なデータ操作機能
    データのフィルタリング、ソート、結合、グループ化が簡単に行えます。
  4. 統計や可視化との統合
    NumPyやMatplotlibなどのライブラリと連携可能で、分析から可視化までをスムーズに行えます。

Pandasのインストール

PandasはPyPIからインストール可能です。

pip install pandas

インストール確認:
インストール後、バージョンを確認するには以下を実行します:

import pandas as pd
print(pd.__version__)

Pandasの基本操作

データの読み込み

Pandasを使うと、さまざまな形式のデータを簡単に読み込むことができます。

CSVファイルの読み込み
import pandas as pd

df = pd.read_csv("data.csv")
print(df.head())  # 先頭5行を表示
Excelファイルの読み込み
df = pd.read_excel("data.xlsx")
print(df.head())

データフレームの作成

手動でデータフレームを作成することも可能です。

data = {
    "名前": ["太郎", "花子", "次郎"],
    "年齢": [25, 30, 22],
    "得点": [80, 90, 85]
}
df = pd.DataFrame(data)
print(df)

出力例:

   名前  年齢  得点
0  太郎  25  80
1  花子  30  90
2  次郎  22  85

データフレームの基本操作

列の選択
print(df["名前"])  # 名前列のみを表示
行の選択

インデックスを指定して特定の行を取得します。

print(df.iloc[1])  # 2行目を取得
データのフィルタリング

条件に基づいてデータをフィルタリングします。

filtered = df[df["年齢"] > 25]
print(filtered)

データの変換と操作

新しい列の追加
df["合格"] = df["得点"] >= 85
print(df)
列の削除
df = df.drop("合格", axis=1)
print(df)

データの統計計算

Pandasには統計情報を簡単に取得するための関数が用意されています。

print(df["得点"].mean())  # 平均
print(df["得点"].max())   # 最大値
print(df["得点"].min())   # 最小値

応用操作

グループ化と集計

データをグループ化して集計処理を行います。

grouped = df.groupby("年齢").sum()
print(grouped)

データの結合

複数のデータフレームを結合できます。

df1 = pd.DataFrame({"ID": [1, 2], "名前": ["太郎", "花子"]})
df2 = pd.DataFrame({"ID": [1, 2], "得点": [80, 90]})

merged = pd.merge(df1, df2, on="ID")
print(merged)

欠損値の処理

欠損値の確認
print(df.isnull().sum())
欠損値の置換
df.fillna(0, inplace=True)

データの書き出し

変更後のデータをファイルに書き出します。

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

Pandasを使う際の注意点

  1. データのサイズに注意
    大規模データを扱う場合は、メモリ消費量に気を配りましょう。
  2. 適切なデータ型の指定
    型を明示的に指定することで、処理速度が向上する場合があります。
  3. 適切なインデックス設計
    インデックスを活用すると、検索やデータの操作が効率化します。

まとめ

Pandasは、Pythonでのデータ分析を効率的に行うための強力なツールです。この記事で紹介した基本操作や応用例を参考に、データの取り扱いをさらに深めてみてください。初めての方でも扱いやすく、慣れると非常に多くの分析タスクを効率化できます。

モバイルバージョンを終了