Python Pandas – IntervalArrayの各区間の左端をインデックスとして取得する方法
PandasのIntervalArrayに含まれる各区間(Interval)の左端(始点)をインデックス(Index)として取得するには、array.leftプロパティを使用します。このプロパティは、各Intervalの左側の境界値をまとめたインデックスを返します。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import pandas as pd
Intervalオブジェクトの作成
2つのIntervalオブジェクトを作成します。
interval1 = pd.Interval(10, 25) interval2 = pd.Interval(15, 70)
作成した区間を表示してみましょう。
print("Interval1...\n", interval1)
print("Interval2...\n", interval2)
IntervalArrayの構築
Intervalオブジェクトから新しいIntervalArrayを構築します。
array = pd.arrays.IntervalArray([interval1, interval2])
各区間の左端を取得する
array.leftプロパティにアクセスすることで、各区間の左端を取得できます。
print("\nIntervalArray内の各区間の左端をインデックスとして取得...\n", array.left)
サンプルコード全体
以下が完全なサンプルコードです。
import pandas as pd
# 2つのIntervalオブジェクトを作成
interval1 = pd.Interval(10, 25)
interval2 = pd.Interval(15, 70)
# 区間を表示
print("Interval1...\n", interval1)
print("Interval2...\n", interval2)
# Intervalオブジェクトから新しいIntervalArrayを構築
array = pd.arrays.IntervalArray([interval1, interval2])
# 作成したIntervalArrayを表示
print("\n作成したIntervalArray...\n", array)
# IntervalArrayの長さを取得
# 各Intervalの長さを要素とするIndexを返す
print("\nIntervalArrayの長さ...\n", array.length)
# 各区間の左端を取得
print("\nIntervalArray内の各区間の左端をインデックスとして取得...\n", array.left)
出力結果
上記のコードを実行すると、以下のような出力が得られます。
Interval1... (10, 25] Interval2... (15, 70] 作成したIntervalArray... <IntervalArray> [(10, 25], (15, 70]] Length: 2, dtype: interval[int64, right] IntervalArrayの長さ... Int64Index([15, 55], dtype='int64') IntervalArray内の各区間の左端をインデックスとして取得... Int64Index([10, 15], dtype='int64')
補足:関連するプロパティ
array.leftは各区間の左端の値を返し、array.rightは右端の値を返します。また、array.lengthを使用すると、各区間の長さ(右端 − 左端)をインデックスとして取得できます。上記の出力例では、区間 (10, 25] の左端は 10、区間 (15, 70] の左端は 15 であるため、結果として Int64Index([10, 15]) が返されています。これらのプロパティを活用することで、区間データの境界値や幅を簡単に抽出・分析できます。
-
Python Pandas – IntervalArray内の各区間の中点をIndexとして取得する方法
IntervalArray内の各区間(Interval)の中点をIndexとして取得するには、array.midプロパティを使用します。このプロパティは、IntervalArrayに含まれる各区間の中点を要素とするIndexを返します。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdIntervalオブジェクトの作成次に、2つのIntervalオブジェクトを作成します。「closed」パラメータに「both」を指定すると、両端を含む閉区間として設定されます。interval1 = pd.Interval(50, 75, closed=
-
Python Pandas – IntervalArray内の各区間の右端をインデックスとして取得する方法
PandasのIntervalArrayに含まれる各区間(Interval)の右端(右エンドポイント)をインデックス(Index)として取得するには、array.rightプロパティを使用します。このプロパティは、各区間の右側の境界値をまとめたIndexオブジェクトを返します。なお、pd.Interval(10, 25)のように作成した区間は「左開・右閉」の区間(10, 25]となるため、右端の値はその区間に含まれる点にも注意してください。手順1:ライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pd手順2:Intervalオブジェクトの作成2つ