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

Python Pandas – IntervalArray内の各区間の右端をインデックスとして取得する方法


PandasのIntervalArrayに含まれる各区間(Interval)の右端(右エンドポイント)をインデックス(Index)として取得するには、array.rightプロパティを使用します。このプロパティは、各区間の右側の境界値をまとめたIndexオブジェクトを返します。

なお、pd.Interval(10, 25)のように作成した区間は「左開・右閉」の区間(10, 25]となるため、右端の値はその区間に含まれる点にも注意してください。

手順1:ライブラリのインポート

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

import pandas as pd

手順2:Intervalオブジェクトの作成

2つのIntervalオブジェクトを作成します。

interval1 = pd.Interval(10, 25)
interval2 = pd.Interval(15, 70)

作成した区間を表示して確認してみましょう。

print("Interval1...\n", interval1)
print("Interval2...\n", interval2)

手順3:IntervalArrayの構築

Intervalオブジェクトから新しいIntervalArrayを構築します。

array = pd.arrays.IntervalArray([interval1, interval2])

手順4:右端の取得

array.rightプロパティにアクセスすると、各区間の右端をIndexとして取得できます。

print("\nThe right endpoints of each Interval in the IntervalArray as an Index...\n", array.right)

サンプルコード全体

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

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("\nOur IntervalArray...\n", array)

# 各区間の長さを取得
# IntervalArray内の各区間の長さを要素とするIndexを返す
print("\nOur IntervalArray length...\n", array.length)

# 各区間の右端を取得
print("\nThe right endpoints of each Interval in the IntervalArray as an Index...\n", array.right)

実行結果

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

Interval1...
(10, 25]
Interval2...
(15, 70]

Our IntervalArray...
<IntervalArray>
[(10, 25], (15, 70]]
Length: 2, dtype: interval[int64, right]

Our IntervalArray length...
Int64Index([15, 55], dtype='int64')

The right endpoints of each Interval in the IntervalArray as an Index...
Int64Index([25, 70], dtype='int64')

解説

出力結果からわかるように、array.rightは各区間の右端の値を要素とするInt64Indexを返します。今回の例では、区間(10, 25]の右端は「25」、区間(15, 70]の右端は「70」であるため、結果は[25, 70]となります。

また、参考までにarray.lengthを使うと、各区間の長さ(幅)をIndexとして取得できます。区間(10, 25]の長さは15、区間(15, 70]の長さは55です。区間の左端を取得したい場合は、同様にarray.leftプロパティを使用できます。


  1. 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) 作成

  2. Python Pandasで区間(Interval)の右側の境界を取得する方法

    区間(Interval)の右側の境界を取得するには、interval.right プロパティを使用します。この記事では、Timestamp を境界とした時間区間から右側の境界値を取得する手順を、具体的なコード例とともに解説します。必要なライブラリのインポートまず、pandas をインポートします。import pandas as pd時間区間の作成pd.Timestamp を左右の境界として時間区間を作成します。"closed" パラメータに "left" を指定すると、左側は含み右側は含まない「左閉・右開」の区間になります。interval = pd.