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

Python NumPyで複素数を含む配列の2を底とする対数を計算する方法(np.log2)

入力配列の2を底とする対数(log2)を求めるには、PythonのNumPyで用意されている numpy.log2() メソッドを使用します。このメソッドは、引数 x の2を底とする対数を返します。x がスカラーの場合、結果もスカラーとして返されます。

numpy.log2() の主なパラメータ

第1パラメータの x は入力値で、配列のようなオブジェクト(array-like)を指定します。

第2パラメータの out は、計算結果を格納する場所です。指定する場合は、入力がブロードキャストされる形状と一致している必要があります。省略した場合や None を指定した場合は、新しく確保された配列が返されます。タプルで指定することもできますが、その場合はキーワード引数として渡す必要があり、要素数は出力の数と一致しなければなりません。

第3パラメータの where は、条件を入力全体にブロードキャストします。条件が True の位置には ufunc の計算結果が設定され、それ以外の位置では out 配列の元の値が保持されます。なお、デフォルトの out=None によって未初期化の配列が作成された場合、条件が False となった位置の値は未初期化のまま残る点に注意してください。

実装手順

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

import numpy as np

array() メソッドを使って複素数を含む配列を作成します。

arr = np.array([0+1.j, 1, 2+0.j])

配列の内容を表示します。

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([0+1.j, 1, 2+0.j])

# 配列を表示
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...
[0.+1.j 1.+0.j 2.+0.j]

Our Array type...
complex128

Our Array Dimension...
1

Our Array Shape...
(3,)

Result...
[0.+2.26618007j 0.+0.j 1.+0.j ]

このように、np.log2() は complex128 型の複素数配列にも対応しており、虚部を含む値に対しても正しく対数計算を行うことができます。数値解析や信号処理など、複素数を扱う場面で非常に便利な関数です。

  1. 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...\

  2. 【Python・NumPy】char.rfind()で各要素ごとに部分文字列が見つかる最大のインデックスを取得する方法

    numpy.char.rfind()メソッドとは文字列の中で部分文字列(sub)が見つかった位置のうち、最も大きいインデックス(最後に出現する位置)を取得したい場合は、Python NumPyの numpy.char.rfind() メソッドを使用します。このメソッドはint型の出力配列を返し、部分文字列が見つからなかった要素には -1 を返します。主な引数は以下の通りです。第1引数: 検索対象となる入力配列第2引数: 検索する部分文字列実行手順まず、必要なライブラリをインポートします。import numpy as np1次元の文字列配列を作成します。arr = np.array([KATI