1. ホーム
  2. python

[解決済み] NumPy nを底とする対数

2023-01-02 05:02:40

質問

からの numpy documentation on logarithms のドキュメントから、底を持つ対数を計算する関数を見つけました。 e , 2 10 :

import numpy as np
np.log(np.e**3) #3.0
np.log2(2**3)   #3.0
np.log10(10**3) #3.0

しかし、どのように対数をとればよいのでしょうか。 n (例:42)の対数をnumpyで取るにはどうしたらよいでしょうか?

どのように解決するのですか?

を使用してカスタムベースによる対数を得るには、次のようにします。 math.log :

import math
number = 74088  # = 42^3
base = 42
exponent = math.log(number, base)  # = 3

を使用してカスタムベースによる対数を得るには、以下のようにします。 numpy.log :

import numpy as np
array = np.array([74088, 3111696])  # = [42^3, 42^4]
base = 42
exponent = np.log(array) / np.log(base)  # = [3, 4]

対数を使うもの ベースチェンジ のルールを使います。