Python

Pandas操作逆引き辞典|データ抽出・集計・結合の全手順

データサイエンスの現場では、Pandasが最も重要なツールの一つです。しかし、「あの操作はどうやるんだったっけ?」と迷うことも多いのではないでしょうか。本記事では、Pandas操作を目的別に整理し、実際のコード例とともに解説します。

この記事で学べること:

  • Pandasの基本的なデータ抽出方法
  • 条件に基づくデータフィルタリング
  • データ集計とグループ化の手法
  • 複数のDataFrameを結合する方法
  • 実践的な使用例とベストプラクティス

1. データ抽出の基本操作

Pandasでデータを扱う際、最初に覚えるべきは基本的なデータ抽出方法です。ここでは、列の選択、行の選択、インデックスアクセスなどの基本操作を確認しましょう。

1.1 列の選択

DataFrameから特定の列を選択する方法は複数あります。

1.2 行の選択

行の選択にはlocilocを使用します。

メソッド 説明 使用例
df['column'] 単一列の選択 df['name']
df[['col1', 'col2']] 複数列の選択 df[['name', 'age']]
df.loc[index] ラベルベースの行選択 df.loc[0]
df.iloc[position] 位置ベースの行選択 df.iloc[0]

2. 条件抽出・フィルタリング

データ分析では、条件に基づくデータフィルタリングが頻繁に必要になります。Pandasでは様々な条件指定方法があります。

2.1 単一条件での抽出

2.2 複数条件での抽出

複数条件を組み合わせる場合は、&(AND)や|(OR)を使用します。

2.3 isin()を使った抽出

ポイント: 複数条件を使用する際は、必ず各条件を括弧で囲むことを忘れないでください。これにより、論理演算子の優先順位による予期しない結果を防げます。

3. データ集計・グループ化

データ分析において、グループ化と集計は非常に重要な操作です。Pandasのgroupby機能を使って、効率的にデータを集計できます。

3.1 基本的なグループ化

3.2 複数の集計関数の適用

3.3 データの並び替え

集計関数 説明 使用例
mean() 平均値 df.groupby('dept')['salary'].mean()
sum() 合計値 df.groupby('dept')['salary'].sum()
count() 非欠損値の数 df.groupby('dept')['salary'].count()
size() グループのサイズ df.groupby('dept').size()
min()/max() 最小値/最大値 df.groupby('dept')['salary'].max()

4. データ結合・マージ

実際のデータ分析では、複数のDataFrameを結合する必要が頻繁に発生します。Pandasではmergejoinconcatなどの機能を提供しています。

4.1 merge()を使った結合

4.2 concat()を使った結合

4.3 join()を使った結合

結合方法の選択指針:

  • merge(): 列の値に基づいて結合したい場合
  • join(): インデックスに基づいて結合したい場合
  • concat(): 単純に複数のDataFrameを連結したい場合

5. 実践的な使用例

ここでは、実際のデータ分析でよく使われる操作を組み合わせた例を紹介します。

5.1 売上データの分析例

5.2 欠損値の処理

5.3 データの変換とピボットテーブル

操作 メソッド 用途
欠損値確認 isnull()isna() データの品質チェック
欠損値削除 dropna() 欠損値を含む行/列の削除
欠損値埋め込み fillna() 欠損値を特定の値で置換
ピボットテーブル pivot_table() クロス集計と要約
データ変換 melt() ワイド形式からロング形式への変換

6. まとめ

本記事では、Pandasの基本的な操作から実践的な使用例まで、目的別に整理して解説しました。

重要なポイントの再確認:

  • データ抽出: loc, iloc, 条件フィルタリングを使い分ける
  • データ集計: groupby()と各種集計関数を組み合わせる
  • データ結合: merge(), join(), concat()を適切に選択する
  • 実践応用: 複数の操作を組み合わせて効率的にデータを処理する

これらの操作を組み合わせることで、効率的なデータ分析が可能になります。日々のデータ処理で困った際は、この逆引き辞典を参考にして、適切な手法を選択してください。

Pandasは非常に強力なライブラリですが、基本的な操作をしっかりと理解することで、より高度なデータ分析にも対応できるようになります。継続的な学習と実践を通じて、データサイエンススキルを向上させていきましょう。

-Python