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

Pandasのset_closed()でIntervalArrayを両側閉区間「both」に変換する方法

Pandasのset_closed()メソッドを使用すると、現在のIntervalArrayと同一の内容を持ちながら、指定した側で閉じた(closed)新しいIntervalArrayを返すことができます。左右両方の境界を含む閉区間にしたい場合は、パラメータに"both"を指定します。これにより、各区間が [0, 1] のように両端を含む形式へと変換されます。

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

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

import pandas as pd

IntervalArrayの作成

from_breaks()メソッドを使って、0から5までの境界値からIntervalArrayを作成します。

index = pd.arrays.IntervalArray.from_breaks(range(6))

区間の内容を確認する

作成したIntervalArrayを表示して、中身を確認してみましょう。

print("IntervalIndex...\n", index)

set_closed()で"both"を指定する

現在の配列と同一でありながら、指定した側(ここでは"both"=両側)で閉じられたIntervalArrayを返します。

print("\nResult...", index.set_closed('both'))

完全なコード例

以下に、ここまでの手順をまとめたサンプルコードを示します。

import pandas as pd

# IntervalArrayを作成
index = pd.arrays.IntervalArray.from_breaks(range(6))

# 区間を表示
print("IntervalIndex...\n", index)

# 各区間の長さを表示
print("\nIntervalIndex length...\n", index.length)

# 左側の境界値を表示
print("\nThe left bound for the IntervalIndex...\n", index.left)

# 右側の境界値を表示
print("\nThe right bound for the IntervalIndex...\n", index.right)

# 現在の配列と同一で、指定した側("both")で閉じられた
# IntervalArrayを返す
print("\nResult...", index.set_closed('both'))

出力結果

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

IntervalIndex...
<IntervalArray>
[(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]]
Length: 5, dtype: interval[int64, right]

IntervalIndex length...
Int64Index([1, 1, 1, 1, 1], dtype='int64')

The left bound for the IntervalIndex...
Int64Index([0, 1, 2, 3, 4], dtype='int64')

The right bound for the IntervalIndex...
Int64Index([1, 2, 3, 4, 5], dtype='int64')

Result... <IntervalArray>
[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5]]
Length: 5, dtype: interval[int64, both]

ポイントの解説

元のIntervalArrayは右側のみが閉じている(right)状態ですが、set_closed('both')を実行することで、[0, 1]のように左端・右端の両方が含まれる閉区間へと変換されているのが分かります。なお、set_closed()は元の配列を変更せず、新しいIntervalArrayを返す点にも注意してください。指定できる値は 'left''right''both''neither' の4種類です。

  1. Python Pandas:Indexがブール値のみで構成されているかどうかを確認する方法

    PandasのIndexがブール値(True / False)のみで構成されているかどうかを確認するには、index.is_boolean()メソッドを使用します。このメソッドは、インデックス内のすべての要素がブール型である場合にTrueを返し、それ以外の場合はFalseを返します。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdPandasインデックスの作成ブール値を含むPandasインデックスを作成します。index = pd.Index([True, True, False, False, True, True, True])イ

  2. Python Pandas – IntervalArrayの区間が空かどうかを確認する方法

    IntervalArray内の各区間(Interval)が空かどうかを確認するには、Pandasのarray.is_emptyプロパティを使用します。このプロパティは、IntervalArray内の各Intervalが空であるかどうかを示すブール値の配列を返します。ここで「空の区間」とは、始点と終点が同じで、かつその点を含まない区間のことです。例えば、closed=neitherを指定して作成した開区間 (0, 0) は、どちらの端点も含まないため、空の区間と判定されます。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdInterva