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