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

Python Pandas – MultiIndexから各レベルの長さを持つタプルを取得する方法

MultiIndexから各レベルの長さを持つタプルを取得するには、PandasのMultiIndex.levshapeプロパティを使用します。

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

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

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'))

各レベルの長さを持つタプルは、以下のようにして取得できます。

print("\nMultiIndexの各レベルの長さを持つタプル...\n", multiIndex.levshape)

サンプルコード

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

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.nlevels)

# MultiIndexのレベルを取得
print("\nMultiIndexのレベル...\n", multiIndex.levels)

# 各レベルの長さを持つタプルを取得
print("\nMultiIndexの各レベルの長さを持つタプル...\n", multiIndex.levshape)

出力結果

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

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']]

The tuple with the length of each level in a Multi-index...
   (5, 5)

このように、levshapeプロパティを使うことで、MultiIndexの各レベルに含まれるユニークな要素の数をタプル形式で簡単に確認できます。上記の例では、第1レベル「ranks」と第2レベル「student」のそれぞれに5つの要素があるため、結果は (5, 5) となります。

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

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

  2. Python・PandasのTimestampオブジェクトから曜日を取得する方法

    PandasのTimestampオブジェクトから曜日を取得するには、timestamp.weekday()メソッドを使用します。このメソッドは、対象の日付が何曜日に該当するかを数値で返してくれます。まずは、必要なライブラリをインポートしましょう。import pandas as pd import datetimeTimestampオブジェクトの作成次に、Pandasでタイムスタンプを設定し、Timestampオブジェクトを作成します。ここでは例として「2021年5月12日」を使用します。timestamp = pd.Timestamp(datetime.datetime(2021, 5, 1