logo

Pythonのnumpy.log()

numpy.log() は、x (x はすべての入力配列要素に属します) の自然対数を計算するために使用される数学関数です。これは指数関数の逆関数であり、要素ごとの自然対数でもあります。自然対数 log は指数関数の逆なので、log(exp(x))=x となります。底 e の対数は自然対数です。

構文

 numpy.log(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = 

パラメーター

x: 配列のようなもの

このパラメータは、numpy.log() 関数の入力値を定義します。

out: ndarray、None、または ndarray と None のタプル (オプション)

このパラメータは、結果が保存される場所を定義するために使用されます。このパラメータを定義する場合、入力ブロードキャストと同様の形状を持つ必要があります。それ以外の場合は、新しく割り当てられた配列が返されます。タプルの長さは出力の数と同じです。

ここで: array_like (オプション)

これは、入力を通じてブロードキャストされる状態です。この場所では、条件が True の場合、out 配列は ufunc(universal function) の結果に設定されます。それ以外の場合は、元の値が保持されます。

バーティ・ジャ

キャスト: {'no','equiv','safe','same_kind','unsafe'}(オプション)

このパラメータは、発生する可能性のあるデータ キャストの種類を制御します。 「いいえ」は、データ型をまったくキャストしないことを意味します。 「equiv」は、バイト順序の変更のみが許可されることを意味します。 「安全」とは、保持された値を許可できる唯一のキャストを意味します。 「same_kind」は、安全なキャストまたは種類内のキャストのみを意味します。 「安全でない」とは、あらゆるデータ変換が行われる可能性があることを意味します。

順序: {'K'、'C'、'F'、'A'}(オプション)

このパラメータは、計算の反復順序/出力配列のメモリ レイアウトを指定します。デフォルトでは、順序は K になります。順序「C」は、出力が C 連続である必要があることを意味します。順序「F」は F 連続を意味し、入力が F 連続で入力が C 連続の場合は「A」は F 連続を意味し、「A」は C 連続を意味します。 「K」は、入力の要素の順序を(可能な限り厳密に)一致させることを意味します。

dtype: データ型(オプション)

ハードカバーとペーパーバック

これは、計算配列と出力配列の dtype をオーバーライドします。

テスト: bool(オプション)

デフォルトでは、このパラメータは true に設定されています。 false に設定すると、出力はサブタイプではなく、常に厳密な配列になります。

サイン

この引数により、基礎となる計算で使用される 1-d ループ 'for' に特定の署名を提供できます。

extobj

Java文字列置換

このパラメータは、ufunc バッファ サイズ、エラー モード整数、およびエラー コールバック関数を指定する長さ 1、2、または 3 のリストです。

戻り値

この関数は、入力配列のすべての要素に属する x の自然対数値を含む ndarray を返します。

例 1:

 import numpy as np a=np.array([2, 4, 6, 3**8]) a b=np.log(a) b c=np.log2(a) c d=np.log10(a) d 

出力:

 array([ 2, 4, 6, 6561]) array([0.69314718, 1.38629436, 1.79175947, 8.78889831]) array([ 1. , 2. , 2.5849625 , 12.67970001]) array([0.30103 , 0.60205999, 0.77815125, 3.81697004]) 

上記のコードでは

  • numpy をエイリアス名 np でインポートしました。
  • np.array() 関数を使用して配列 'a' を作成しました。
  • 変数 b、c、および d を宣言し、それぞれ np.log()、np.log2()、および np.log10() 関数の戻り値を割り当てました。
  • すべての関数に配列 'a' を渡しました。
  • 最後に、b、c、d の値を出力してみました。

出力には、ソース配列のすべての要素の log、log2、および log10 の値を含む ndarray が表示されます。

インターネットに関するデメリット

例 2:

 import numpy as np import matplotlib.pyplot as plt arr = [2, 2.2, 2.4, 2.6,2.8, 3] result1=np.log(arr) result2=np.log2(arr) result3=np.log10(arr) plt.plot(arr,arr, color='blue', marker='*') plt.plot(result1,arr, color='green', marker='o') plt.plot(result2,arr, color='red', marker='*') plt.plot(result3,arr, color='black', marker='*') plt.show() 

出力:

numpy.log()

上記のコードでは

  • numpy をエイリアス名 np でインポートしました。
  • matplotlib.pyplot もエイリアス名 plt でインポートしました。
  • 次に、np.array() 関数を使用して配列 'arr' を作成しました。
  • その後、変数 result1、result2、result3 を宣言し、それぞれ np.log()、np.log2()、np.log10() 関数の戻り値を割り当てました。
  • すべての関数に配列 'arr' を渡しました。
  • 最後に、「arr」、result1、result2、result3 の値をプロットしてみました。

出力には、異なる色の 4 本の直線を含むグラフが表示されます。

例 3:

 import numpy as np x=np.log([2, np.e, np.e**3, 0]) x 

出力:

 __main__:1: RuntimeWarning: divide by zero encountered in log array([0.69314718, 1. , 3. , -inf]) 

上記のコードでは

  • まず、numpy をエイリアス名 np でインポートしました。
  • 変数「x」を宣言し、np.log() 関数の戻り値を割り当てました。
  • 関数には、整数値、np.e、np.e**2 などのさまざまな値を渡しました。
  • 最後に、「x」の値を出力してみました。

出力には、ソース配列の要素のログ値を含む ndarray が表示されます。