単純な数字ではデータセットを表現できない?Pythonで変数の値を無限大に設定するのはどうでしょうか?今日はまさにそれについてお話します
Pythonでコーディングしていると、しばしば大きな正の値や大きな負の値で変数を初期化する必要があります。
これは、ある集合の中の最小値や最大値を計算するために変数を比較するときに非常によくあることです。
Pythonでは正の無限大は正の値の最大値、負の無限大は負の数の最大値とみなされます。
この記事では、変数を正の無限大と負の無限大で初期化する3つの方法を学びます。
また、変数が無限大であるかどうかを確認する方法や、これらの変数に対していくつかの算術演算を実行する方法についても学びます。
さっそく始めましょう。
Pythonで浮動小数点型変数をInfinityで初期化する
モジュールを使わずに変数を正または負の無限大に設定する最も簡単な方法は、floatを使用することです。
以下のコードで、変数を正の無限大に設定できます。
p_inf = float ( 'inf' )
|
変数の値を表示するには、:
print ( 'Positive Infinity = ' ,p_inf)
|
結果は以下の通りです。
Positive Infinity = inf |
負の無限大で変数を初期化するには、:
n_inf = float ( '-inf' )
print ( 'Negative Infinity = ' ,n_inf)
|
結果は以下の通りです。
Negative Infinity = -inf |
infinity で変数を初期化する Numpy モジュールを使う
人気のあるNumpyモジュールを使って、正負の無限大で変数を初期化することもできます。
まずはNumpyモジュールをインポートしてみましょう。
import Numpy as np
|
このモジュールを使って、以下のように変数を正の無限大に初期化することができます。
p_inf = np.inf
print ( 'Positive Infinity = ' ,p_inf)
|
出力は次のようになります。
Positive Infinity = inf |
負の無限大で変数を初期化するには、次のようにします。
n_inf = - np.inf
print ( 'Negative Infinity = ' ,n_inf)
|
出力は次のようになります。
Negative Infinity = -inf |
コンプリートコード
このセクションの完全なコードは次のとおりです。
import Numpy as np
#positive inf p_inf = np.inf
print ( 'Positive Infinity = ' ,p_inf)
#negative inf n_inf = - np.inf
print ( 'Negative Infinity = ' ,n_inf)
|
Python で Math モジュールを使って変数を Infinity で初期化する
変数を無限大に初期化する方法の3つ目は、pythonのmathモジュールを使用する方法です。
まずはモジュールをインポートしてみましょう。
import math
|
Mathモジュールを使って変数を正の無限大に設定するには、次のコードを使用します。
p_inf = math.inf
print ( 'Positive Infinity = ' ,p_inf)
|
結果は以下の通りです。
出力:
Positive Infinity = inf |
Math モジュールを使って変数を負の無限大に設定するには、次のコード行を使用します。
n_inf = - math.inf
print ( 'Negative Infinity = ' ,n_inf)
|
結果は以下の通りです。
Negative Infinity = -inf |
これとは別に、Mathモジュールには、変数が無限大に設定されているかどうかをチェックするメソッドも用意されています。
これは、次のコードで確認できます。
math.isinf(p_inf) |
結果は以下の通りです。
True |
math.isinf(n_inf) |
結果は以下の通りです。
True |
コンプリートコード
このセクションの完全なコードは、以下のとおりです。
import math
#positive inf p_inf = math.inf
print ( 'Positive Infinity = ' ,p_inf)
#negative inf n_inf = - math.inf
print ( 'Negative Infinity = ' ,n_inf)
#check print (math.isinf(p_inf))
print (math.isinf(n_inf))
|
Python での無限大に対する算術演算
変数を正と負の無限大に設定して、いくつかの算術演算をやってみましょう。
1. 無限大の値に対する足し算の操作
正の無限大と負の無限大に数を足すとどうなるかを見てみましょう。
a = p_inf + 100
print (a)
|
結果は以下の通りです。
inf |
a = n_inf + 100
print (a)
|
結果は以下の通りです。
-inf |
2. 無限大の値での引き算
正の無限大と負の無限大から数を引いてみましょう。
a = p_inf - 100
print (a)
|
結果は以下の通りです。
inf |
a = n_inf - 100
print (a)
|
結果は以下の通りです。
-inf |
無限大に値を足したり引いたりしても、何の影響もないことがわかります。
では、2つの無限大の間で算術演算を行うとどうなるか見てみましょう。
3. 2つの無限大の間の算術演算
正の無限と負の無限を足して、その結果を見てみましょう。
a = p_inf + n_inf
print (a)
|
結果は以下の通りです。
nan |
出力は nan で、これは not a number の略です。
したがって、この演算はうまく定義されていないと言えるでしょう。
nanについてもっと知りたい方は、こちらのチュートリアルをご覧ください。
正と負の無限大を掛けるとどうなるか見てみましょう。
a = p_inf * n_inf
print (a)
|
結果は以下の通りです。
-inf |
大きさが掛け合わされるので、負の無限大が得られ、符号は負の無限大のため、負になります。
正の無限大と負の無限大の割り算をするとどうなるかを見てみましょう。
a = p_inf / n_inf
print (a)
|
結果は以下の通りです。
nan |
無限大と無限大の除算は、やはり定義されていないので、ナンとなる。
まとめ
この記事では、正負の無限大で変数を初期化するさまざまな方法について説明しました。
また、正負の無限大を含むいくつかの算術演算も取り上げました。