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

Python Pandas:MultiIndexのレベル名を指定してラベル値のベクトルを取得する方法

MultiIndexのレベル名を指定してラベル値を取得する

PandasのMultiIndex(マルチインデックス)で、レベル名を指定してラベル値のベクトルを返すには、MultiIndex.get_level_values()メソッドを使用します。このメソッドは、引数にレベル番号またはレベル名を渡すことで、該当レベルのラベル値をIndexオブジェクトとして取得できます。

必要なライブラリのインポート

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

import pandas as pd

MultiIndexの作成

MultiIndexは、pandasオブジェクトに対する複数レベル(階層型)のインデックスオブジェクトです。ここでは、2つの配列からMultiIndexを作成し、各レベルに「One」「Two」という名前を設定しています。

multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')], names=['One', 'Two'])

MultiIndexの表示

作成したMultiIndexを表示して内容を確認します。

print("The MultiIndex...\n", multiIndex)

レベル名「Two」でレベル値を取得

get_level_values()メソッドの引数にレベル名「Two」を指定して、レベル値を取得します。

print("\nLevel values using level name...\n", multiIndex.get_level_values("Two"))

サンプルコード全体

以下が、ここまでの手順をまとめた完全なコード例です。

import pandas as pd

# MultiIndexは、pandasオブジェクトのための複数レベル(階層型)インデックスオブジェクト
multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')], names=['One', 'Two'])

# MultiIndexを表示
print("The MultiIndex...\n", multiIndex)

# MultiIndexのレベルを確認
print("\nThe levels in MultiIndex...\n", multiIndex.levels)

# レベル名「Two」を指定してレベル値を取得
print("\nLevel values using level name...\n", multiIndex.get_level_values("Two"))

実行結果

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

The MultiIndex...
MultiIndex([('p', 's'),
            ('q', 't'),
            ('r', 'r'),
            ('r', 'v'),
            ('s', 'w'),
            ('s', 'x')],
            names=['One', 'Two'])

The levels in MultiIndex...
   [['p', 'q', 'r', 's'], ['r', 's', 't', 'v', 'w', 'x']]

Level values using level name...
   Index(['s', 't', 'r', 'v', 'w', 'x'], dtype='object', name='Two')

ポイント解説

get_level_values("Two")のようにレベル名を渡すと、第2レベルのラベル値「s, t, r, v, w, x」を含むIndexオブジェクトが返されます。出力結果のname属性にも「Two」が設定されていることが確認できます。なお、レベル名の代わりに0や1などのレベル番号を指定することも可能です。これにより、階層化されたデータから特定のレベルの値だけを簡単に取り出すことができます。

  1. Python – レベル名を指定して複数の階層を削除し、インデックスを返す方法

    pandasのマルチインデックス(MultiIndex)から、レベル名を指定して複数の階層をまとめて削除したい場合は、multiIndex.droplevel() メソッドを使用します。引数には、削除したいレベルの名前をリスト形式で渡します。必要なライブラリのインポートまず、pandasをインポートします。import pandas as pdマルチインデックスの作成次に、マルチインデックスを作成します。names パラメータを指定すると、インデックスの各階層に名前を付けることができます。multiIndex = pd.MultiIndex.from_arrays([[5, 10], [15,

  2. 【Pandas】MultiIndexのレベル名を指定して階層を削除し、インデックスを返す方法

    Pandasでマルチインデックス(MultiIndex)から特定の階層を削除し、その結果のインデックスを返すには、multiIndex.droplevel() メソッドを使用します。削除したい階層の名前を引数として指定するだけで、簡単に操作できます。この記事では、レベル名を使って階層を削除する具体的な手順を、サンプルコードとともにわかりやすく解説します。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdマルチインデックスの作成次に、マルチインデックスを作成します。names パラメータを指定すると、インデックスの各階層に名前を付けること