Python数値区間処理-intervalライブラリのクイックスタート
Pythonを用いてデータ処理を行う場合,1つの数が1つの区間内にあるか否かを判断する操作に遭遇することが多い.
区間判定の基礎
最も基本的な区間判定動作は、まず1つの区間数を作成し、
上記のコードから、
上記のコードから分かるように、
コレクションのアクション
小結
if else
で判断できますが、Pythonを使用している以上、既製のホイールがあるかどうかを探しています.実際には、interval
というライブラリを使用して、必要な操作を完了することができます.区間判定の基礎
最も基本的な区間判定動作は、まず1つの区間数を作成し、
in
を用いて1つの数が区間内に存在するか否かを判定することである.コードは次のとおりです.from interval import Interval
zoom_2_5 = Interval(2, 5)
print(zoom_2_5)
>> [2..5]
print(2 in zoom_2_5)
>> True
print(6 in zoom_2_5)
>> False
上記のコードから、
Interval
を使用してセットを作成し、比較したい数をin
で結果を得ることができます.しかし、私たちの集合は実は区間と閉区間を分けていることを知っています.上のコードでは、[2,5]の区間集合を作成しています.では、(2,5)のような集合を作成したい場合は、どうすればいいですか.次のコードを見てください.zoom_o2_5 = Interval(2, 5, lower_closed=False)
print(zoom_o2_5)
>> (2..5]
print(2 in zoom_o2_5)
>> False
zoom_o2_o5 = Interval(2, 5, closed=False)
print(zoom_o2_o5)
>> (2..5)
上記のコードから分かるように、
Interval
を使用して集合を作成する場合、lower_closed
パラメータを使用して、集合区間下限を非閉区間、すなわち開区間とすることができ、2がこの区間にあるかどうかを比較すると、返される結果はFalseとなる.同様に、区間上限を開区間に設定したい場合は、upper_closed
を設定することができるFalseに設定し、オープン区間を直接作成したい場合は、closed
をFalseに直接設定できます.コレクションのアクション
Interval
には、集合区間に対する3つの操作方法があり、それぞれjoin
overlaps
adjacent_to
であり、以下の3つの方法の使用方法を示す.zoom_1_3 = Interval(1, 3)
zoom_1_5 = Interval(1, 5)
zoom_o3_5 = Interval(3, 5, lower_closed=False)
# join
print(zoom_1_3.join(zoom_1_5))
>> [1..5]
# overlaps
print(zoom_1_3.overlaps(zoom_1_5))
>> True
print(zoom_1_3.overlaps(zoom_o3_5))
>> False
# adjacent_to
print(zoom_1_3.adjacent_to(zoom_o3_5))
>> True
小結
interval
ライブラリはまたIntervalSet
パッケージを提供し、中には複数のInterval
に対する操作が提供されている.紙面の関係や実際の応用におけるシーンの違いによって具体的な使い方が異なる.ここでは言うまでもなく、Ipython
を使用してインタラクティブモードに入ることができることをより深く理解した後、help()
メソッドを使用して具体的な異なる方法の使い方を見ることができる.面はすべて詳しい説明を提供しました.本文の紹介はここまでで、あなたに役に立つことを望んでいます.