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