Python NumPyのnp.log2()で入力配列の底2の対数を計算する方法
PythonのNumPyで入力配列の各要素に対して底2の対数(log₂)を求めるには、numpy.log2()メソッドを使用します。
このメソッドは引数xの底2の対数を返します。xがスカラーの場合、戻り値もスカラーになります。
numpy.log2()の主なパラメータ
第1パラメータ:x — 入力値を指定します。配列のようなオブジェクト(array-like)を受け付けます。
第2パラメータ:out — 計算結果を格納する場所を指定します。指定する場合は、入力がブロードキャストされる形状と一致している必要があります。省略した場合やNoneを指定した場合は、新しく確保された配列が返されます。タプルで指定する際は、その長さが出力の数と一致していなければなりません。
第3パラメータ:where — 条件を指定します。この条件は入力に対してブロードキャストされ、条件がTrueの場所にはout配列にufuncの計算結果が設定されます。それ以外の場所では、out配列は元の値を保持します。なお、デフォルトのout=Noneで未初期化のout配列が作成された場合、条件がFalseとなった位置は初期化されないまま残る点に注意してください。
実行手順
まず、必要なライブラリをインポートします。
import numpy as np
array()メソッドを使って配列を作成します。
arr = np.array([1, 2, 10])
作成した配列を表示します。
print("Array...\n", arr)配列のデータ型を確認します。
print("\nOur Array type...\n", arr.dtype)配列の次元数を取得します。
print("\nOur Array Dimension...\n", arr.ndim)配列の形状を取得します。
print("\nOur Array Shape...\n", arr.shape)numpy.log2()メソッドを使って、入力配列の底2の対数を計算して表示します。
print("\nResult...\n", np.log2(arr))コード例全体
import numpy as np
# array()メソッドで配列を作成
arr = np.array([1, 2, 10])
# 配列を表示
print("Array...\n", arr)
# 配列のデータ型を取得
print("\nOur Array type...\n", arr.dtype)
# 配列の次元数を取得
print("\nOur Array Dimension...\n", arr.ndim)
# 配列の形状を取得
print("\nOur Array Shape...\n", arr.shape)
# numpy.log2()メソッドで底2の対数を計算
# xがスカラーの場合、戻り値もスカラーになる
print("\nResult...\n", np.log2(arr))実行結果
Array... [ 1 2 10] Our Array type... int64 Our Array Dimension... 1 Our Array Shape... (3,) Result... [0. 1. 3.32192809]
実行結果を見ると、配列[1, 2, 10]の各要素に対して底2の対数が計算され、[0.0, 1.0, 約3.32]という結果が得られていることがわかります。log₂(1)=0、log₂(2)=1となるため、計算結果は数学的に正しい値です。
-
Pythonで複素数値入力の自然対数を計算する方法
自然対数は指数関数の逆関数であり、log(exp(x)) = x という関係が成り立ちます。自然対数とは、e(ネイピア数)を底とする対数のことです。NumPyの np.log() メソッドは、入力xの自然対数を要素ごとに計算して返します。xがスカラーの場合はスカラー値を返します。np.log() の主なパラメータ第1パラメータは入力値で、配列状のオブジェクト(array-like)を指定します。第2パラメータの out は、計算結果を格納する場所です。指定する場合は、入力がブロードキャストされる形状と一致している必要があります。省略した場合や None を指定した場合は、新しく確保された配列が
-
Python・NumPyで文字列配列の各要素の長さを取得する方法
文字列配列の各要素の長さを要素ごとに取得したい場合は、PythonのNumPyが提供する numpy.char.str_len() メソッドを使用します。このメソッドは、各文字列の長さを格納した整数型の出力配列を返します。実行手順まず、必要なライブラリをインポートします。import numpy as np次に、1次元の文字列配列を作成します。arr = np.array([Amy, Scarlett, Katie, Brad, Tom])作成した配列を表示してみましょう。print(Array...\n,arr)配列のデータ型を確認します。print(\nArray datatype...\