Python – レベル名を指定して複数の階層を削除し、インデックスを返す方法
pandasのマルチインデックス(MultiIndex)から、レベル名を指定して複数の階層をまとめて削除したい場合は、multiIndex.droplevel() メソッドを使用します。引数には、削除したいレベルの名前をリスト形式で渡します。
必要なライブラリのインポート
まず、pandasをインポートします。
import pandas as pd
マルチインデックスの作成
次に、マルチインデックスを作成します。names パラメータを指定すると、インデックスの各階層に名前を付けることができます。
multiIndex = pd.MultiIndex.from_arrays([[5, 10], [15, 20], [25, 30], [35, 40]], names=['a', 'b', 'c', 'd'])
マルチインデックスの表示
作成したマルチインデックスを表示して確認してみましょう。
print("Multi-index...\n", multiIndex)レベル名を指定して複数の階層を削除
droplevel() メソッドに、削除したいレベル名のリスト ['a', 'd'] を渡すことで、複数の階層を一度に削除できます。
print("\nDropping multiple level...\n", multiIndex.droplevel(['a', 'd']))サンプルコード全体
以下は、ここまでの手順をまとめた完全なコード例です。
import pandas as pd
# マルチインデックスを作成
# names パラメータで各階層に名前を設定
multiIndex = pd.MultiIndex.from_arrays([[5, 10], [15, 20], [25, 30], [35, 40]], names=['a', 'b', 'c', 'd'])
# マルチインデックスを表示
print("Multi-index...\n", multiIndex)
# レベル名を指定して複数の階層を削除
# 削除したいレベル名をリストとして渡す
print("\nDropping multiple level...\n", multiIndex.droplevel(['a', 'd']))実行結果
上記のコードを実行すると、次のような出力が得られます。
Multi-index... MultiIndex([( 5, 15, 25, 35),(10, 20, 30, 40)],names=['a', 'b', 'c', 'd']) Dropping multiple level... MultiIndex([(15, 25),(20, 30)],names=['b', 'c'])
実行結果から分かるように、レベル「a」と「d」が削除され、残りのレベル「b」と「c」だけで構成された新しいマルチインデックスが返されています。このように droplevel() を使えば、レベル番号だけでなくレベル名でも柔軟に階層を削除できます。
-
Python・PandasでIndexの最大値を取得する方法|index.max()の使い方
PandasのIndexオブジェクトから最大値を取得したい場合は、index.max() メソッドを使用します。このメソッドは、インデックスに含まれる要素の中から最も大きい値を1つ返してくれます。必要なライブラリのインポートまず、Pandasをインポートします。import pandas as pdPandasインデックスの作成次に、数値を含むPandasのインデックスを作成します。index = pd.Index([10, 20, 70, 40, 90, 50, 25, 30])作成したインデックスを表示してみましょう。print(Pandas Index...\n, index)そして、m
-
Python・Pandasでインデックスの最小値を取得する方法(index.min()の使い方)
Pandasのインデックス(Index)から最小値を返すには、index.min()メソッドを使用します。このメソッドを呼び出すだけで、インデックスに含まれる要素の中から最も小さい値を簡単に取得できます。まず、必要なライブラリをインポートしましょう。import pandas as pdPandasインデックスの作成次に、数値データを含むPandasインデックスを作成します。index = pd.Index([10.5, 20.4, 40.5, 25.6, 5.7, 6.8, 30.8, 50.2])作成したインデックスを表示して確認します。print(Pandas Index...\n, i