Python Pandas - MultiIndexでレベルの名前を取得する方法
MultiIndexの各レベルの名前を取得するには、PandasのMultiIndex.namesプロパティを使用します。まず、必要なライブラリをインポートしましょう。
import pandas as pd
MultiIndexとは、pandasオブジェクトで使用できる多階層(階層的)なインデックスオブジェクトのことです。まずは配列を作成します。
arrays = [[1, 2, 3, 4, 5], ['John', 'Tim', 'Jacob', 'Chris', 'Keiron']]
namesパラメータを指定すると、各インデックスレベルに名前を設定できます。そして、from_arrays()メソッドを使ってMultiIndexを作成します。
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))MultiIndexの各レベルの名前を取得するには、以下のように記述します。
print("\nMultiIndexのレベルの名前...\n", multiIndex.names)サンプルコード
以下が完全なコード例です。
import pandas as pd
# MultiIndexは、pandasオブジェクト用の多階層(階層的)なインデックスオブジェクトです
# 配列を作成
arrays = [[1, 2, 3, 4, 5], ['John', 'Tim', 'Jacob', 'Chris', 'Keiron']]
# "names"パラメータで各インデックスレベルに名前を設定
# from_arrays()を使ってMultiIndexを作成
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))
# MultiIndexを表示
print("The Multi-index...\n", multiIndex)
# MultiIndexのレベルの名前を取得
print("\nMultiIndexのレベルの名前...\n", multiIndex.names)
# MultiIndexのレベルを取得
print("\nMultiIndexのレベル...\n", multiIndex.levels)出力結果
上記のコードを実行すると、次のような出力が得られます。
The Multi-index... MultiIndex([(1, 'John'), (2, 'Tim'), (3, 'Jacob'), (4, 'Chris'), (5, 'Keiron')], names=['ranks', 'student']) MultiIndexのレベルの名前... ['ranks', 'student'] MultiIndexのレベル... [[1, 2, 3, 4, 5], ['Chris', 'Jacob', 'John', 'Keiron', 'Tim']]
補足:namesプロパティとset_names()メソッド
multiIndex.namesは読み取りだけでなく、後から名前を変更することも可能です。既存のMultiIndexに対して名前を設定し直したい場合は、set_names()メソッドが便利です。
# レベルの名前を後から変更する例 new_multiIndex = multiIndex.set_names(['順位', '生徒名']) print(new_multiIndex.names) # FrozenList(['順位', '生徒名'])
このように、namesプロパティを使えばMultiIndexの構造を把握しやすくなり、データ分析時に特定のレベルへアクセスする際にも役立ちます。
-
Python Pandas CategoricalIndex – カテゴリの取得方法をわかりやすく解説
Pandas の CategoricalIndex に含まれるカテゴリを取得するには、categories プロパティを使用します。まずは、必要なライブラリをインポートしましょう。import pandas as pdCategoricalIndex は、限られた(通常は固定された)数の取り得る値、つまり「カテゴリ」のみを持つことができます。「categories」パラメータを使うことで、カテゴリカルデータに対してカテゴリを設定できます。また、「ordered」パラメータを指定すると、そのカテゴリカルデータを順序付きとして扱うことができます。catIndex = pd.CategoricalI
-
Python Pandas - 期間(Period)の秒コンポーネントを取得する方法
PandasのPeriodオブジェクトから「秒」のコンポーネントを取得するには、period.secondプロパティを使用します。この記事では、具体的なコード例とともに、その使い方をわかりやすく解説します。必要なライブラリのインポートまず、pandasをインポートします。import pandas as pdPeriodオブジェクトとはpandas.Periodは、特定の期間(時点)を表すオブジェクトです。日付や時刻の情報を保持し、頻度(freq)を指定することで、年・月・日・時・分・秒などの単位で期間を扱うことができます。ここでは、2つのPeriodオブジェクトを作成してみましょう。1つ目は