Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Pandasで複数の列を指定したピボットテーブルを作成する方法

はじめに

Pandasでは、複数の列をインデックスとして指定したピボットテーブルを簡単に作成できます。ピボットテーブルの作成にはpandas.pivot_table関数を使用します。この関数は、スプレッドシートのような形式のピボットテーブルをDataFrameとして生成します。

ライブラリのインポート

まず、必要なライブラリをインポートします。

import pandas as pd

DataFrameの作成

チームの記録を格納したDataFrameを作成しましょう。

dataFrame = pd.DataFrame({'Team ID': {0: 5, 1: 9, 2: 6, 3: 11, 4: 2, 5: 7 },'Team Name': {0: 'India', 1: 'Australia', 2: 'Bangladesh', 3: 'South Africa', 4: 'Sri Lanka', 5: 'England'},'Team Points': {0: 95, 1: 93, 2: 42, 3: 60, 4: 80, 5: 55},'Team Rank': {0: 'One', 1: 'Two', 2: 'Six', 3: 'Four', 4: 'Three', 5: 'Five'}})

複数の列でピボットテーブルを作成する

次に、複数の列を指定してピボットテーブルを作成します。indexパラメータにはリスト形式で複数の列名を渡すことができ、ここでは「Team ID」「Team Name」「Team Rank」の3つの列を設定しています。

pd.pivot_table(dataFrame, index = ["Team ID", "Team Name", "Team Rank"])

サンプルコード

以下が完全なコード例です。

import pandas as pd

# チームの記録を含むDataFrameを作成
dataFrame = pd.DataFrame({'Team ID': {0: 5, 1: 9, 2: 6, 3: 11, 4: 2, 5: 7 },'Team Name': {0: 'India', 1: 'Australia', 2: 'Bangladesh', 3: 'South Africa', 4: 'Sri Lanka', 5: 'England'},'Team Points': {0: 95, 1: 93, 2: 42, 3: 60, 4: 80, 5: 55},'Team Rank': {0: 'One', 1: 'Two', 2: 'Six', 3: 'Four', 4: 'Three', 5: 'Five'}})

print("\n... Pivot ...")

# 複数の列を指定してピボットテーブルを作成
print(pd.pivot_table(dataFrame, index = ["Team ID", "Team Name", "Team Rank"]))

実行結果

上記のコードを実行すると、以下の出力が得られます。

... Pivot ...
                             Team Points
Team ID  Team Name   Team Rank
2        Sri Lanka   Three             80
5        India       One               95
6        Bangladesh  Six               42
7        England     Five              55
9        Australia   Two               93
11       South Africa Four             60

まとめ

pandas.pivot_tableindex引数にリストで複数の列名を指定することで、階層的なインデックスを持つピボットテーブルを作成できます。これにより、データを多角的に集約・分析することが可能になります。

  1. Python・PandasのDataFrameから複数の列を選択する方法

    Pandasでは、CSVファイルから読み込んだDataFrameに対して、二重の角括弧 [[ ]] を使うことで、複数の列を簡単に選択できます。本記事では、具体的な手順とサンプルコードを交えて解説します。 前提:サンプルデータについて ここでは、Microsoft Excelで開いた以下のような内容のCSVファイル(SalesData.csv)を例にします。このデータには「Car(車名)」「Reg_Price(登録価格)」「Units(台数)」の3つの列が含まれています。 ステップ1:CSVファイルをPandas DataFrameに読み込む まず、read_csv() メソッドを使って、C

  2. Python PandasでDataFrameの複数のデータ列をプロットする方法

    PythonのPandasライブラリを使えば、DataFrameに含まれる複数のデータ列を簡単に可視化できます。本記事では、plot()メソッドを使用し、kindパラメータをbarに設定することで、複数の列を1つの棒グラフとして描画する方法を解説します。必要なライブラリのインポートまず、PandasとMatplotlibという2つの必須ライブラリをインポートします。Pandasはデータ操作を、Matplotlibはグラフの表示を担当します。import pandas as pd import matplotlib.pyplot as mpサンプルデータの準備ここでは、各チームのランキングポイン