Pivot Tableとは

Pivot Table(ピボットテーブル)は、データの集計や分析を行うための強力なツールです。大量のデータを扱う際に、特定の項目に基づいてデータをまとめたり、データの視覚化を行ったりするのに役立ちます。

Pythonのデータ分析ライブラリであるPandasでは、pivot_table関数を使用して簡単にピボットテーブルを作成することができます。この関数は、データフレームのデータを指定したキーに基づいて集約し、新たなデータフレームを生成します。

Pandasのpivot_table関数は非常に柔軟性が高く、集約関数のカスタマイズ、欠損値の扱い、マージンの計算など、多くのオプションを提供しています。これにより、データ分析者はデータを深く理解し、有益な洞察を得ることができます。

PandasでのPivot Tableの基本的な使い方

Pandasのpivot_table関数を使うと、データフレームからピボットテーブルを簡単に作成することができます。以下に基本的な使い方を示します。

まず、Pandasライブラリをインポートします。

import pandas as pd

次に、データフレームを作成します。ここでは、商品の売上データを例にします。

df = pd.DataFrame({
    "商品": ["りんご", "みかん", "ぶどう", "りんご", "みかん", "ぶどう"],
    "地域": ["東京", "東京", "東京", "大阪", "大阪", "大阪"],
    "売上": [100, 200, 300, 400, 500, 600]
})

このデータフレームから、地域ごとの商品の売上合計を求めるピボットテーブルを作成します。

pivot = df.pivot_table(values="売上", index="地域", columns="商品", aggfunc="sum")

このコードは、valuesパラメータに集計する列(ここでは”売上”)を、indexパラメータに行のキー(ここでは”地域”)を、columnsパラメータに列のキー(ここでは”商品”)を指定しています。aggfuncパラメータには集計関数を指定します(ここでは”sum”)。

以上が、PandasでのPivot Tableの基本的な使い方です。これを応用することで、さまざまなデータ分析を行うことができます。次のセクションでは、より応用的な使い方を紹介します。

PandasでのPivot Tableの応用的な使い方

Pandasのpivot_table関数は、その柔軟性からさまざまな応用的な使い方が可能です。以下にその一部を紹介します。

複数の集計関数の使用

aggfuncパラメータには、複数の関数をリストとして渡すことができます。これにより、同時に複数の集計を行うことが可能です。

pivot = df.pivot_table(values="売上", index="地域", columns="商品", aggfunc=["sum", "mean", "max", "min"])

このコードは、地域ごと、商品ごとの売上合計、平均、最大値、最小値を一度に計算します。

マージンの計算

margins=Trueを指定すると、すべての行と列の合計を計算することができます。これは、全体の合計や平均を知りたい場合に便利です。

pivot = df.pivot_table(values="売上", index="地域", columns="商品", aggfunc="sum", margins=True)

欠損値の扱い

データに欠損値が含まれている場合、fill_valueパラメータを使用して、欠損値を任意の値で埋めることができます。

pivot = df.pivot_table(values="売上", index="地域", columns="商品", aggfunc="sum", fill_value=0)

以上が、PandasでのPivot Tableの応用的な使い方の一部です。これらの機能を活用することで、より深いデータ分析を行うことが可能になります。次のセクションでは、具体的なデータ集計の例を紹介します。

Pandas Pivot Tableでのデータ集計

Pandasのpivot_table関数を使うと、データフレームからピボットテーブルを作成し、データの集計を行うことができます。以下に具体的な例を示します。

まず、以下のような商品の売上データを持つデータフレームを考えます。

df = pd.DataFrame({
    "商品": ["りんご", "みかん", "ぶどう", "りんご", "みかん", "ぶどう"],
    "地域": ["東京", "東京", "東京", "大阪", "大阪", "大阪"],
    "売上": [100, 200, 300, 400, 500, 600]
})

このデータフレームから、地域ごとの商品の売上合計を求めるピボットテーブルを作成します。

pivot = df.pivot_table(values="売上", index="地域", columns="商品", aggfunc="sum")

このコードは、valuesパラメータに集計する列(ここでは”売上”)を、indexパラメータに行のキー(ここでは”地域”)を、columnsパラメータに列のキー(ここでは”商品”)を指定しています。aggfuncパラメータには集計関数を指定します(ここでは”sum”)。

結果として得られるピボットテーブルは以下のようになります。

地域 りんご みかん ぶどう
東京 100 200 300
大阪 400 500 600

このように、Pandasのpivot_table関数を使うと、データの集計を行い、その結果を見やすい形で表示することができます。次のセクションでは、売上平均の算出について説明します。

Pandas Pivot Tableでの売上平均の算出

Pandasのpivot_table関数を使うと、データの平均値を簡単に計算することができます。以下に具体的な例を示します。

まず、以下のような商品の売上データを持つデータフレームを考えます。

df = pd.DataFrame({
    "商品": ["りんご", "みかん", "ぶどう", "りんご", "みかん", "ぶどう"],
    "地域": ["東京", "東京", "東京", "大阪", "大阪", "大阪"],
    "売上": [100, 200, 300, 400, 500, 600]
})

このデータフレームから、地域ごとの商品の売上平均を求めるピボットテーブルを作成します。

pivot = df.pivot_table(values="売上", index="地域", columns="商品", aggfunc="mean")

このコードは、valuesパラメータに集計する列(ここでは”売上”)を、indexパラメータに行のキー(ここでは”地域”)を、columnsパラメータに列のキー(ここでは”商品”)を指定しています。aggfuncパラメータには集計関数を指定します(ここでは”mean”)。

結果として得られるピボットテーブルは以下のようになります。

地域 りんご みかん ぶどう
東京 100 200 300
大阪 400 500 600

このように、Pandasのpivot_table関数を使うと、データの平均値を計算し、その結果を見やすい形で表示することができます。次のセクションでは、売上合計の算出について説明します。

Pandas Pivot Tableでの売上合計の算出

Pandasのpivot_table関数を使うと、データの合計値を簡単に計算することができます。以下に具体的な例を示します。

まず、以下のような商品の売上データを持つデータフレームを考えます。

df = pd.DataFrame({
    "商品": ["りんご", "みかん", "ぶどう", "りんご", "みかん", "ぶどう"],
    "地域": ["東京", "東京", "東京", "大阪", "大阪", "大阪"],
    "売上": [100, 200, 300, 400, 500, 600]
})

このデータフレームから、地域ごとの商品の売上合計を求めるピボットテーブルを作成します。

pivot = df.pivot_table(values="売上", index="地域", columns="商品", aggfunc="sum")

このコードは、valuesパラメータに集計する列(ここでは”売上”)を、indexパラメータに行のキー(ここでは”地域”)を、columnsパラメータに列のキー(ここでは”商品”)を指定しています。aggfuncパラメータには集計関数を指定します(ここでは”sum”)。

結果として得られるピボットテーブルは以下のようになります。

地域 りんご みかん ぶどう
東京 100 200 300
大阪 400 500 600

このように、Pandasのpivot_table関数を使うと、データの合計値を計算し、その結果を見やすい形で表示することができます。これらの機能を活用することで、データ分析を行う際の作業効率を大幅に向上させることが可能です。次のセクションでは、さらに応用的な使い方を紹介します。お楽しみに!

投稿者 kitagawa

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です