PythonのNumpy Correlate()メソッド

Numpyのcorrelate()メソッドは、2つの1次元ベクトル間の相互相関を見つけるために使用されます。単一処理テキストで一般的に定義されている相関を計算するcorrelate()関数は、次のように与えられます。c_{v1v2} [k] = sum_n v1 [n + k] * conj(v2 [n])v1およびv2シーケンスは必要に応じてゼロが埋め込まれ、接続詞が共役になります。

簡単に言うと、Python numpy.correlate(v1、v2、mode)は、配列v2の逆で配列v1の畳み込みを実行し、指定された3つのモードのいずれかを使用して結果をクリップします。

構文

numpy.correlate (v1, v2, mode,old_behaviour)

パラメーター

reacte()関数は、最大4つのパラメーターを取ります。

 v1:array_like、最初の1次元入力配列。(M、)の形をしているとしましょう

 

 v2: array_like、2番目の1次元入力配列。(N、)の形をしているとしましょう

モード:{'valid'、 'same'、 'full'}、オプション

 

これはオプションのパラメーターであり、以下で説明する3つの異なるモードがあります。

  1. ' valid':デフォルトのモードです。モード 'valid'は、長さmax(M、N)– min(M、N)+1の出力を返します。畳み込み積は、v1とv2が完全にオーバーラップしている場合にのみ与えられます。信号境界外の値は影響しません。
  2. ' same':モード ' same'は、長さmin(M、N)の出力を返します。境界効果はまだ表示されます。
  3. ' full':これは、(M + N-1)の出力形状で、オーバーラップの各ポイントでの畳み込みを返します。畳み込みの終点では、ベクトルv1とv2が完全に重なっておらず、境界効果が見られる場合があります。

' old_behavior' :bool、これはブールパラメータであり、trueまたはfalseのいずれかを取ることができます。

old_behavoiurが数値からtrueをとる場合(correlate(v1、v2)== correlate(v2、v1)、および共役は複雑な配列には採用されません)。

それ以外の場合、old_behavoiurが数値からfalseを取得する場合は、従来の信号処理定義を使用します。

戻り値

reacte()メソッドは、v1とv2の1次元ベクトルの相互相関を返します。

プログラミング例

numpy.correlate()メソッドの動作を示すプログラム。

# importing the numpy module
import numpy as np

# Making fist 1-D vector v1
v1 = np.array([1, 3, 5])
print("First vector sequence is: ", v1)

# Making second 1-D vector v2
v2 = np.array([0.5, 1.5, 2.5])
print("Second vector sequence is: ", v2)

print("\nprinting cross-correlation result between v1 and v2 using default 'valid' mode:")
print(np.correlate(v1, v2))

print("\nprinting cross-correlation result between v1 and v2 using 'full' mode:")
print(np.correlate(v1, v2, mode='full'))

# printing cross-correlation result between v1 and v2 using 'same' mode
print("\nprinting cross-correlation result between v1 and v2 using 'same' mode:")
print(np.correlate(v1, v2, mode='same'))

出力

First vector sequence is:  [1 3 5]
Second vector sequence is:  [0.5 1.5 2.5]

printing cross-correlation result between v1 and v2 using default 'valid' mode:
[17.5]

printing cross-correlation result between v1 and v2 using 'full' mode:
[ 2.5  9.  17.5  9.   2.5]

printing cross-correlation result between v1 and v2 using 'same' mode:
[ 9.  17.5  9. ]

説明

プログラムでは、v1v2という名前の2つの1次元入力ベクトルを取得しました。次に、3つの異なるモードのそれぞれを使用して相互相関値を表示することにより、出力を表示しました。

2つのシーケンスの順序を変更したときに、np.correlate()メソッドを使用して時間反転した複素共役の結果を取得する方法を理解するためのプログラム:

次のコードを参照してください。

import numpy as np

# Making fist 1-D vector v1
v1 = np.array([1, 3, 5])
print("First vector sequence is: ", v1)
# Making second 1-D vector v2
v2 = np.array([0.5, 1.5, 2.5])
print("Second vector sequence is: ", v2)

print("\nprinting cross-correlation result between v1 and v2 using 'full' mode:")
print(np.correlate(v1, v2, mode='full'))

# Changing order of sequence
# printing cross-correlation result between v2 and v1 using 'full' mode
print("\nAfter reversing the order of sequence and still using 'full' mode:")
print(np.correlate(v2, v1, mode='full'))

# printing cross-correlation result between v1 and v2 using 'same' mode
print("\nprinting cross-correlation result between v1 and v2 using 'same' mode:")

print(np.correlate(v1, v2, mode='same'))

# Changing order of sequence
# printing cross-correlation result between v2 and v1 using 'same' mode
print("\nAfter reversing the order of sequence and still using 'same' mode:")
print(np.correlate(v2, v1, mode='same'))

出力

First vector sequence is:  [1 3 5]
Second vector sequence is:  [0.5 1.5 2.5]

printing cross-correlation result between v1 and v2 using default 'valid' mode:
[17.5]

printing cross-correlation result between v1 and v2 using 'full' mode:
[ 2.5  9.  17.5  9.   2.5]

printing cross-correlation result between v1 and v2 using 'same' mode:
[ 9.  17.5  9. ]

説明

結果を元のシーケンスで出力し、シーケンスの順序を変更して同じものを出力した後、np.correlate()メソッドを使用して時間反転した複素共役の結果を取得できることを確認できます。

結果は、次の関数を使用して表すことができます。

c_ {v2v1} [k] = c ^ {*} {v1v2} [-k]

結論

2つの1次元シーケンスの相互相関。相関()関数は、信号処理テキストで一般的に定義されている相関を計算します。

最後に、PythonチュートリアルのNumpycorrelate()メソッドは終了しました。

リンク: https://appdividend.com/2020/06/03/numpy-correlate-method-in-python/

#python 

What is GEEK

Buddha Community

PythonのNumpy Correlate()メソッド

PythonのNumpy Correlate()メソッド

Numpyのcorrelate()メソッドは、2つの1次元ベクトル間の相互相関を見つけるために使用されます。単一処理テキストで一般的に定義されている相関を計算するcorrelate()関数は、次のように与えられます。c_{v1v2} [k] = sum_n v1 [n + k] * conj(v2 [n])v1およびv2シーケンスは必要に応じてゼロが埋め込まれ、接続詞が共役になります。

簡単に言うと、Python numpy.correlate(v1、v2、mode)は、配列v2の逆で配列v1の畳み込みを実行し、指定された3つのモードのいずれかを使用して結果をクリップします。

構文

numpy.correlate (v1, v2, mode,old_behaviour)

パラメーター

reacte()関数は、最大4つのパラメーターを取ります。

 v1:array_like、最初の1次元入力配列。(M、)の形をしているとしましょう

 

 v2: array_like、2番目の1次元入力配列。(N、)の形をしているとしましょう

モード:{'valid'、 'same'、 'full'}、オプション

 

これはオプションのパラメーターであり、以下で説明する3つの異なるモードがあります。

  1. ' valid':デフォルトのモードです。モード 'valid'は、長さmax(M、N)– min(M、N)+1の出力を返します。畳み込み積は、v1とv2が完全にオーバーラップしている場合にのみ与えられます。信号境界外の値は影響しません。
  2. ' same':モード ' same'は、長さmin(M、N)の出力を返します。境界効果はまだ表示されます。
  3. ' full':これは、(M + N-1)の出力形状で、オーバーラップの各ポイントでの畳み込みを返します。畳み込みの終点では、ベクトルv1とv2が完全に重なっておらず、境界効果が見られる場合があります。

' old_behavior' :bool、これはブールパラメータであり、trueまたはfalseのいずれかを取ることができます。

old_behavoiurが数値からtrueをとる場合(correlate(v1、v2)== correlate(v2、v1)、および共役は複雑な配列には採用されません)。

それ以外の場合、old_behavoiurが数値からfalseを取得する場合は、従来の信号処理定義を使用します。

戻り値

reacte()メソッドは、v1とv2の1次元ベクトルの相互相関を返します。

プログラミング例

numpy.correlate()メソッドの動作を示すプログラム。

# importing the numpy module
import numpy as np

# Making fist 1-D vector v1
v1 = np.array([1, 3, 5])
print("First vector sequence is: ", v1)

# Making second 1-D vector v2
v2 = np.array([0.5, 1.5, 2.5])
print("Second vector sequence is: ", v2)

print("\nprinting cross-correlation result between v1 and v2 using default 'valid' mode:")
print(np.correlate(v1, v2))

print("\nprinting cross-correlation result between v1 and v2 using 'full' mode:")
print(np.correlate(v1, v2, mode='full'))

# printing cross-correlation result between v1 and v2 using 'same' mode
print("\nprinting cross-correlation result between v1 and v2 using 'same' mode:")
print(np.correlate(v1, v2, mode='same'))

出力

First vector sequence is:  [1 3 5]
Second vector sequence is:  [0.5 1.5 2.5]

printing cross-correlation result between v1 and v2 using default 'valid' mode:
[17.5]

printing cross-correlation result between v1 and v2 using 'full' mode:
[ 2.5  9.  17.5  9.   2.5]

printing cross-correlation result between v1 and v2 using 'same' mode:
[ 9.  17.5  9. ]

説明

プログラムでは、v1v2という名前の2つの1次元入力ベクトルを取得しました。次に、3つの異なるモードのそれぞれを使用して相互相関値を表示することにより、出力を表示しました。

2つのシーケンスの順序を変更したときに、np.correlate()メソッドを使用して時間反転した複素共役の結果を取得する方法を理解するためのプログラム:

次のコードを参照してください。

import numpy as np

# Making fist 1-D vector v1
v1 = np.array([1, 3, 5])
print("First vector sequence is: ", v1)
# Making second 1-D vector v2
v2 = np.array([0.5, 1.5, 2.5])
print("Second vector sequence is: ", v2)

print("\nprinting cross-correlation result between v1 and v2 using 'full' mode:")
print(np.correlate(v1, v2, mode='full'))

# Changing order of sequence
# printing cross-correlation result between v2 and v1 using 'full' mode
print("\nAfter reversing the order of sequence and still using 'full' mode:")
print(np.correlate(v2, v1, mode='full'))

# printing cross-correlation result between v1 and v2 using 'same' mode
print("\nprinting cross-correlation result between v1 and v2 using 'same' mode:")

print(np.correlate(v1, v2, mode='same'))

# Changing order of sequence
# printing cross-correlation result between v2 and v1 using 'same' mode
print("\nAfter reversing the order of sequence and still using 'same' mode:")
print(np.correlate(v2, v1, mode='same'))

出力

First vector sequence is:  [1 3 5]
Second vector sequence is:  [0.5 1.5 2.5]

printing cross-correlation result between v1 and v2 using default 'valid' mode:
[17.5]

printing cross-correlation result between v1 and v2 using 'full' mode:
[ 2.5  9.  17.5  9.   2.5]

printing cross-correlation result between v1 and v2 using 'same' mode:
[ 9.  17.5  9. ]

説明

結果を元のシーケンスで出力し、シーケンスの順序を変更して同じものを出力した後、np.correlate()メソッドを使用して時間反転した複素共役の結果を取得できることを確認できます。

結果は、次の関数を使用して表すことができます。

c_ {v2v1} [k] = c ^ {*} {v1v2} [-k]

結論

2つの1次元シーケンスの相互相関。相関()関数は、信号処理テキストで一般的に定義されている相関を計算します。

最後に、PythonチュートリアルのNumpycorrelate()メソッドは終了しました。

リンク: https://appdividend.com/2020/06/03/numpy-correlate-method-in-python/

#python 

山岸  英樹

山岸 英樹

1636554120

PythonのNumpy Dot()関数とは

Numpy.dotは、行列計算のための堅牢な関数です。2つの行列の内積を計算するには、np.dot関数を使用します。その関数について詳しく見ていきましょう。

np.dot関数

Numpy dot()は、指定された2つのベクトル(リスト)の数学ドットを返すために使用される数学関数です。np.dot()関数は、3つの引数を受け入れ、指定された2つのベクトルの内積を返します。

ベクトルは、多次元だけでなく一次元でもかまいません。どちらの場合も、数学的内積の規則に従います。

1D配列の場合、これはベクトルの内積です。N次元配列の場合、それは最後の軸上積和であるとの二最後の軸B

 

構文

numpy.dot(vector_a, vector_b, out = None)

パラメーター

dot()関数は、主に次の3つのパラメーターを取ります。

  1. vector_a :これは最初のベクトルです。
  2. vector_b:これは2番目のベクトルです。
  3. out:引数の生成。これは、使用されない限り返されるのと同じ種類である必要があります。具体的には、適切な形式であり、C連続である必要があり、そのdtypeはdot(a、b)に対して返される形式である必要があります。それがパフォーマンスの特徴です。したがって、これらの条件が満たされない場合、柔軟にしようとする代わりに、例外が作成されます。

戻り値

numpy.dot()メソッドは、指定された2つのベクトルの内積を返します。ベクトルのいずれかまたは両方が複素数の場合、その複素共役を使用して内積が計算されます。

 

与えられたベクトルが一次元の場合のドットを計算します

次のコードを参照してください。

# Program to show working of numpy.dot
# When both the vectors are 1D

# Importing numpy
import numpy as np

# We will create an 1D array
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([2, 3, 4, 5])
# Printing the array
print("The first array is: ", arr1)
print("The second array is:  ", arr2)
# Shape of the array
print("Shape of the first array is : ", np.shape(arr1))
print("Shape of the second array is : ", np.shape(arr2))

# Printing dot product of the arr1.arr2
out = np.dot(arr1, arr2)
print("Dot product of arr1 and arr2")
print(out)

# When both are complex
a = 6+1j
b = 4+3j
out1 = np.dot(a, b)
print("Dot product of a and b")
print(out1)

出力

The first array is:  [1 2 3 4]
The second array is:   [2 3 4 5]
Shape of the first array is :  (4,)
Shape of the second array is :  (4,)
Dot product of arr1 and arr2
40
Dot product of a and b
(21+22j)

説明

このプログラムでは、最初のケースで、2つの1D配列を初期化し、次に配列とその形状の両方を印刷しました。その後、numpy.dot()を呼び出して、配列の内積を計算しました。

答え40が得られたことがわかります。内積の規則によれば、このようになりました。

(1 * 2 + 2 * 3 + 3 * 4 + 4 * 5)= 40。

また、2番目のケースでは、2つの複素方程式を宣言しました。次に、それらの内積を印刷しました。答えは(21 + 22j)であり、次のように計算されていることがわかります。

6 *(4 + 3j)+ 1j *(4-3j)

= 24 + 18j + 4j-3

= 21 + 22j

ベクトルが多次元である場合、内積を計算します

次のコードを参照してください。

# Program to show the working of numpy.dot
# When both the vectors are 2D

# Importing numpy
import numpy as np

# We will create an 1D array
arr1 = np.array([[1, 2], [5, 6]])
arr2 = np.array([[2, 3], [2, 4]])
# Printing the array
print("The first array is:\n ", arr1)
print("\nThe second array is: \n ", arr2)
# Shape of the array
print("Shape of the first array is : ", np.shape(arr1))
print("Shape of the second array is : ", np.shape(arr2))

# Printing dot product of the arr1.arr2
out = np.dot(arr1, arr2)
print("Dot product of arr1 and arr2")
print(out)

出力

The first array is:
  [[1 2]
 [5 6]]

The second array is:
  [[2 3]
 [2 4]]
Shape of the first array is :  (2, 2)
Shape of the second array is :  (2, 2)
Dot product of arr1 and arr2
[[ 6 11]
 [22 39]]

説明

このプログラムでは、最初のケースで、2つの2D配列を初期化し、次に配列とその形状の両方を印刷しました。その後、numpy.dot()を呼び出して、配列の内積を計算しました。

答えは2D配列にあることがわかります。内積のルールに従って、私たちは答えを得ました。

Numpy dot()メソッドについては以上です。

リンク: https://appdividend.com/2020/08/05/numpy-dot-example-np-dot-in-python/

#python ·

山本  洋介

山本 洋介

1638691200

PythonのNumpy Isfinite()関数

isfinite()関数はnumpyで定義され、import numpy asnpとしてインポートされます。私たちは、 多次元配列を作成し、numpyのの助けを借りて、他の数学的な統計情報を引き出すことができます。

Numpy infinite()関数は、要素が有限であるかどうかをテストするために使用されます。配列を渡して、配列に存在する要素が有限クラスに属しているかどうかを確認することもできます。有限でない場合、メソッドはFalseを返します。それ以外の場合はTrueを返します。ブール値を返します。

Numpy isfinite()

np.isfinite()関数は、有限かどうか(無限大ではないか、数値ではないか)を要素ごとにテストし、結果をブール配列として返します。

構文

numpy.isfinite(array or the scalar value, out(output array))

パラメーター

isfinite()関数は2つのパラメーターを取り、そのうち1つのパラメーターはオプションで、もう1つは必須です。

 

最初のパラメーターは、入力配列またはそれが有限であるかどうかを確認する入力です。

2つ目は、オプションのn次元配列です。結果とともに配置されるのは出力配列です。

 

戻り値

np.isfinite()関数はブール配列を返します。これは、配列を渡すと結果になり、スカラー値を渡すとブール値TrueまたはFalseになります。

Pythonのisfinite()メソッドのサンプルプログラム

 Pythonでのisfinite()関数の動作を示すプログラムを作成します。

# app.py

import numpy as np

# Scalar Values
print("Is finite: - : ", np.isfinite(933), "\n")
print("Is finite: - : ", np.isfinite(444), "\n")

# checking for infinity value
print("Is finite: - ", np.isfinite(np.inf), "\n")
print("Is finite: - ", np.isfinite(np.NINF), "\n")

出力

python3 app.py
Is finite: - :  True

Is finite: - :  True

Is finite: -  False

Is finite: -  False

この例では、関数isfinite()で2つのスカラー値をバイパスすると、有限値を表すためTrueが得られますが、無限の値が渡されるとFalseが得られます。 

数学モジュールの値に対してisfinite()関数を使用するプログラムを作成します。

次のコードを参照してください。

# app.py

import math as m

# For finite values
print("Is finite:- ", m.isfinite(999))
print("Is finite:- ", m.isfinite(-999))

# For not a number and +ve infinity and -ve infinity values
print("Is finite:- ", m.isfinite(float("nan")))
print("Is finite:- ", m.isfinite(float("inf")))
print("Is finite:- ", m.isfinite(float("-inf")))

出力

python3 app.py
Is finite:-  True
Is finite:-  True
Is finite:-  False
Is finite:-  False
Is finite:-  False

この例では、数学モジュールを使用して、関数に渡された値に応じてTrue値とFalse値の異なるセットを取得していることがわかります。

numpy isfinite()でnumpy arange()を使用する

Numpy arange ()関数は、指定された範囲内の等間隔の値を含むndarrayオブジェクトを返します。

次のコードを参照してください。

# app.py

import numpy as np

b = np.arange(10).reshape(2, 5)
print("\n", b)
print("\nIs Finite : \n", np.isfinite(b))

b = [[1j],
     [np.inf]]
print("\nIs Finite : \n", np.isfinite(b))

出力

python3 app.py

 [[0 1 2 3 4]
 [5 6 7 8 9]]

Is Finite :
 [[ True  True  True  True  True]
 [ True  True  True  True  True]]

Is Finite :
 [[ True]
 [False]]

その他の例

# app.py

import numpy as np

print(np.isfinite(1))

print(np.isfinite(0))

print(np.isfinite(np.nan))

print(np.isfinite(np.inf))

print(np.isfinite(np.NINF))

出力

python3 app.py
True
True
False
False
False

数ではなく、正の無限大、および負の無限大は非有限と見なされます。

Numpyは、算術演算のバイナリ浮動小数点にIEEE標準(IEEE 754)を使用しています。これは、NotaNumberが無限大と同等ではないことを意味します。

また、正の無限大は負の無限大と同等ではありません。しかし、無限大は正の無限大と同じです。

xがスカラー入力の場合、または1番目と2番目の引数の形状が異なる場合に2番目の引数も指定されると、エラーが発生します

最後に、Pythonの例のNumpy isfinite()関数は終了しました。

リンク: https://appdividend.com/2020/04/30/numpy-isfinite-function-in-python-example/

#python 

野村  陽一

野村 陽一

1638477900

PythonのNumpy Bincount()メソッド

numpyのbincount()メソッドの使用法は何ですか?正の(+ ve)整数の配列では、numpy.bincount()メソッドが各要素の出現をカウントします。

np.bincount

np.bincount()メソッドはPythonで使用され、numpy配列内に提供される各要素の頻度を取得します。numpy bincount()メソッドは引数としてarr_name、weights、 および minlength を取り、整数のndarrayを返します。

非負のintの配列内の各値の出現回数をカウントするには、numpy.bincount()関数を使用します。

配列内のすべての要素は整数データ型である必要があり、また、それらは非負である必要があります。それ以外の場合は、TypeErrorが発生します。要素の数は、そのインデックスとして周波数配列/ビンに格納されます。

 

したがって、各ビン値はそのインデックスの出現に対応すると結論付けることができます。したがって、それに応じてビンサイズを設定できます。ビンのサイズは常に、指定された配列の最大数+1に等しくなります。

例:配列が[1,6,6,4,2,8,5]の場合、8が配列の最大要素であるため、ビンのサイズは9になります。重み配列が提供されている場合、入力配列はそれによって重み付けされます。

 

構文

numpy.bincount(arr_name, weights = None, minlength=0)

パラメーター

bincount()関数は、最大3つの主要なパラメーターを取ります。

  1. arr_name これは周波数要素がカウントされる入力配列です。
  2. 重み 入力配列と同じ形状の追加の配列。
  3. minlength 出力配列のビンの最小数を指定します。

戻り値

bincount()関数は、intのndarrayを返します。

出力配列は、入力配列内のbinのインデックス値のいくつかのオカレンスで構成されます。

出力配列のサイズは、入力配列内に存在する最大要素よりも+1大きくなります。

プログラミング例

numpy.bincount()の動作を示すプログラム

# importing the numpy module
import numpy as np

# Input array of non-negative integers
inp_arr = np.array([1, 2, 5, 6, 2, 1, 8, 8, 8])

x = np.bincount(inp_arr)
print("Output of bincount is: ", x)

# printing the size of output bin
print("\nSize of output bin: ", len(x))

出力

Output of bincount is:  [0 2 2 0 0 1 1 0 3]

Size of output bin:  9

説明

プログラムbincount1.pyでは、inp_arrという名前のnumpy配列を取得し、頻度がカウントされる配列内に複数の非負の要素を格納しました。

次に、np.bincount()メソッド内のパラメーターとして完全な配列を渡し、その戻り値をxという名前の変数内に格納しました。

その後、xを使用して新しく取得したbincount配列の要素を表示することにより、出力を出力しました。結論として、np.bincount()では、各bin値はそのインデックスの出現に対応しています。

理解を深めるには、以下の画像を参照してください。

Pythonのnpbincount

追加の重み配列がパラメーターとして指定された場合のnp.bincount()メソッドの動作を理解するためのプログラム。

次のコードを参照してください。

# importing the numpy module
import numpy as np

# Input array of non-negative integers
inp_arr = np.array([1, 2, 5, 6, 2, 1, 8, 8, 8])

# Weighted Array
weights = np.array([1, 1, 1, 0.5, 1, 1, 1, 1, 2])
output_bin = np.bincount(inp_arr, weights)
print("Output of bincount is: ", output_bin)

# printing the size of output bin
print("\nSize of output bin: ", len(output_bin))

出力

Output of bincount is:  [0 2 2 0 0 1 1 0 3]

Size of output bin:  9

説明

bincount2.pyという名前のこのコード例では、weightパラメーターを使用して要素ごとの加算を実行できます。インデックスに対応する要素が要素ごとに追加されます。したがって、異なるインデックスの要素は次のように与えられます。

インデックス0の対応する要素= 0、インデックス1の 対応する要素= 0、 インデックス1の 対応する要素= 1 + 1 = 2、インデックス2の対応する要素= 1 + 1 = 2、インデックス3およびインデックス4の 対応する要素= 0、インデックス5の対応する要素= 1、インデックス6の対応する要素= 0.5、で。

インデックス7の対応する要素= 0、インデックス8で、対応する要素= 1 + 1 + 2 = 4。 

理解を深めるには、以下の画像を参照してください。

Numpy bincount()の例

最後に、np.bincount()関数については以上です。

リンク: https://appdividend.com/2020/05/07/numpy-bincount-example-np-bincount-in-python/

#python 

PythonのNumpy Log1p()メソッド

NumPyはPython言語のサードパーティライブラリであり、大規模な多次元配列と行列のサポートを追加し、これらの配列で実行する多くの高レベルの数学関数を伴います。

Numpy log()関数は、値x + 1の自然対数を取得するために使用されます。ここで、xは配列の要素、またはxはオブジェクトです。log1pは、exp(x)–1の逆です。 

np.log1p

Numpy log1p()は、ユーザーがx + 1の自然対数値を計算するのに役立つ数学関数です。ここで、xはすべての入力配列要素に属します。log1pは() の逆である1 - EXP(X)

np.log1p()関数は二つの引数受け入れ アレイ と アウト パラメータ、および戻り値指定された配列要素の要素のX + 1の自然対数の配列。

 

構文

numpy.log1p(array[, out] = ufunc ‘log1p’)

パラメーター

np.log1p()関数は、最大2つの主要な引数を取ることができます。

  1. array:これは、ログが計算される入力配列またはオブジェクトです。ただし、この関数は配列のすべての要素に1を追加します。
  2. out:これはオプションのフィールドです。結果が格納される位置。指定する場合は、入力が伝達する形式である必要があります。指定しない場合またはなしの場合は、新しく割り当てられたリストを返します。タプルは(唯一のキーワード引数として可能)出力の数と同じ長さを有していなければなりません。

戻り値

log1p()関数は、指定された配列要素の要素の値x +1の自然対数の配列を返します。

 

numpy.log()の動作を示すプログラム

次のコードを参照してください。

# Program to show the working of numpy.log

# Importing numpy
import numpy as np

# We will create an 1D array
arr = np.array([4, 14, 10, 63, 11, 4, 64])
# Printing the array
print("The array is: ", arr)
# Shape of the array
print("Shape of the array is : ", np.shape(arr))

# Calculating natural log of value arr[i]+1
out = np.log1p(arr)
print("Natural logarithm of the given array is ")
print(out)

出力

The array is:  [ 4 14 10 63 11  4 64]
Shape of the array is :  (7,)
Natural logarithm of the given array is
[1.60943791 2.7080502  2.39789527 4.15888308 2.48490665 1.60943791
 4.17438727]

説明

このプログラムでは、形状7の配列を宣言してから、その配列を出力しました。次に、numpy.log1p()を呼び出して、指定された配列の要素の値arr [i] +1の自然対数を計算しました。

log()のグラフィック表現

次のコードを参照してください。

# Program to show Graphical represntation

# Importing numpy
import numpy as np
import matplotlib.pyplot as plt

# We will create an 1D array
arr = np.array([40, 2.4, 0.14, 63, 1.2, 1, 4])
# Printing the array
print("The array is: ", arr)
# Shape of the array
print("Shape of the array is : ", np.shape(arr))

# Calculating natural log of value arr[i]+1
out = np.log1p(arr)
print("Natural logarithm of the given array is ")
print(out)

# Ploting of original array in Graph
# Color will be in Green
plt.plot(arr, arr, color='green', marker='x')

# Ploting of natural log array in Graph
# Color will be in blue
plt.plot(out, arr, color='blue', marker='o')

# Showing the Graphical represntation
plt.title("numpy.log1p()")
plt.xlabel("Natural Log Array")
plt.ylabel("Original Array")
plt.show()

出力

The array is:  [40.    2.4   0.14 63.    1.2   1.    4.  ]
Shape of the array is :  (7,)
Natural logarithm of the given array is
[3.71357207 1.22377543 0.13102826 4.15888308 0.78845736 0.69314718
 1.60943791]

Pythonのnplog1p()

説明

このプログラムでは、最初に形状7の配列を宣言し、次に配列要素がfloatデータ型である配列を出力しました。次に、numpy.log1p()を呼び出して、指定された配列の要素の自然対数を計算しました。

その後、グリーンラインの使用を示す2Dグラフに元の配列をプロットしました。自然対数を求めて得られたout配列をプロットしました。これは、青い線を使用して示しています。上記の画像で結果を確認できます。

numpy log1p()メソッドの例は以上です。

リンク: https://appdividend.com/2020/08/04/numpy-log1p-example-np-log1p-in-python/

#python