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

Python Pandas入門 – MultiIndexのレベル数を整数で取得する方法

PandasのMultiIndex.nlevelsプロパティを使用すると、MultiIndexのレベル数を整数値として簡単に取得できます。本記事では、実際のコード例を通じてその使い方を解説します。

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

まず、Pandasをインポートします。

import pandas as pd

MultiIndexとは

MultiIndexは、pandasオブジェクトで使用できるマルチレベル(階層型)のインデックスオブジェクトです。単一のインデックスでは表現できない複雑なデータ構造を扱う際に活用されます。

まず、MultiIndexのもととなる配列を作成します。

arrays = [[1, 2, 3, 4, 5], ['John', 'Tim', 'Jacob', 'Chris', 'Keiron']]

次に、from_arrays()メソッドを使ってMultiIndexを作成します。「names」パラメータを指定すると、各インデックスレベルに名前を付けることができます。

multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))

レベル数を取得する

MultiIndexのレベル数(階層の数)を整数で取得するには、nlevelsプロパティを参照します。

print("\nThe number of levels in Multi-index...\n", multiIndex.nlevels)

完全なコード例

以下に、ここまでの手順をまとめたコード全体を示します。

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)

# レベル数を整数で取得
print("\nThe number of levels in Multi-index...\n", multiIndex.nlevels)

# 各レベルの内容を取得
print("\nThe levels in Multi-index...\n", multiIndex.levels)

実行結果

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

The Multi-index...
MultiIndex([(1,   'John'),
            (2,    'Tim'),
            (3,  'Jacob'),
            (4,  'Chris'),
            (5, 'Keiron')],
            names=['ranks', 'student'])

The number of levels in Multi-index...
   2

The levels in Multi-index...
   [[1, 2, 3, 4, 5], ['Chris', 'Jacob', 'John', 'Keiron', 'Tim']]

補足:nlevelsとlen()の違い

nlevelsはインデックスの「階層の深さ」を返すプロパティです。一方、len()関数はインデックスに含まれる要素(行)の総数を返します。この例では、nlevelsは「ranks」と「student」の2階層を示す2を返し、len(multiIndex)は要素数の5を返します。また、levels属性を参照すれば、各レベルに含まれるユニークな値の一覧を確認できます。

  1. Python Pandas – 整数入力を使ってTimedeltaオブジェクトから秒を取得する方法

    Timedeltaオブジェクトから秒の値を取得するには、timedelta.secondsプロパティを使用します。まず、必要なライブラリをインポートしましょう。import pandas as pdTimeDeltasは、Python標準のdatetimeライブラリで使用されるtimedeltaとは異なる表現形式を持つ時間差データです。ここでは、単位として unit=s(秒)を指定し、整数値を入力としてTimedeltaオブジェクトを作成します。timedelta = pd.Timedelta(50, unit=s)作成したTimedeltaオブジェクトを表示してみましょう。print(Tim

  2. Python PandasでTimedeltaから日数を取得する方法

    PandasのTimedeltaオブジェクトから日数を取得するには、timedelta.daysプロパティを使用します。この記事では、具体的な手順とサンプルコードを通じて、その使い方をわかりやすく解説します。必要なライブラリのインポートまず、Pandasをインポートします。import pandas as pdTimedeltaオブジェクトの作成Timedeltaは、Python標準のdatetimeライブラリにおける時間差(期間)を表すデータ型です。Pandasではpd.Timedelta()を使って簡単に作成できます。ここでは、「5日1分45秒」のTimedeltaオブジェクトを作成してみ