NumPy Logs
لگاریتم
در NumPy توابعی جهت لگاریتم گیری در پایههای e, 2 و 10 وجود دارد.
در اینجا به نحوه لگاریتم گیری در هر پایهای با استفاده از ساختن یک ufunc دلخواه نیز میپردازیم.
تمامی توابع لگاریتمی در صورتی که نتوانند لگاریتم داده شده را محاسبه کنند برای آن عنصر از یکی از دو عبارت inf- یا inf را برمیگردانند.
لگاریتم در پایه 2
با استفاده از تابع log2()
میتوانید در پایه 2 لگاریتم گیری را انجام دهید.
import numpy as np
arr = np.arange(1, 10)
print(np.log2(arr))
در کد بالا تابع
arange(1, 10)
یک آرایه از اعداد صحیح بین یک (شامل میشود) و 10 (شامل نمیشود) را برمیگرداند.
لگاریتم در پایه 10
با استفاده از تابع log10()
میتوانید در پایه 10 لگاریتم گیری را انجام دهید.
import numpy as np
arr = np.arange(1, 10)
print(np.log10(arr))
لگاریتم طبیعی یا لگاریتم در پایه e
با استفاده از تابع log()
میتوانید در پایه e لگاریتم گیری را انجام دهید.
import numpy as np
arr = np.arange(1, 10)
print(np.log(arr))
لگاریتم گیری در پایه دلخواه
در NumPy تابعی برای لگاریتم گیری در پایه دلخواه وجود ندارد. بنابراین از تابع frompyfunc()
همراه با تابع داخلی math.log()
پایتون با دو پارامتر ورودی و یک پارامتر خروجی استفاده میکنیم.
from math import log
import numpy as np
nplog = np.frompyfunc(log, 2, 1)
print(nplog(100, 15))