numpy.log() в Python
numpy.log() е математическа функция, която се използва за изчисляване на естествения логаритъм на x (x принадлежи на всички елементи на входния масив). Това е обратна на експоненциалната функция, както и натурален логаритъм по елементи. Натуралният логаритъм log е обратната на експоненциалната функция, така че log(exp(x))=x. Логаритъмът при основа е е натурален логаритъм.
Синтаксис
numpy.log(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) =
Параметри
x: array_like
Този параметър дефинира входната стойност за функцията numpy.log().
out: ndarray, None или кортеж от ndarray и None (по избор)
Този параметър се използва за определяне на местоположението, в което се съхранява резултатът. Ако дефинираме този параметър, той трябва да има форма, подобна на входното излъчване; в противен случай се връща прясно разпределен масив. Кортежът има дължина, равна на броя на изходите.
където: array_like (по избор)
Това е условие, което се излъчва през входа. На това място, където условието е True, изходящият масив ще бъде настроен на резултата ufunc(универсална функция); в противен случай ще запази първоначалната си стойност.
кастинг: {'no','equiv','safe','same_kind','unsafe'}(по избор)
Този параметър контролира вида кастинг на данни, който може да възникне. „Не“ означава, че типовете данни изобщо не трябва да се прехвърлят. „Equiv“ означава, че са разрешени само промени в реда на байтовете. „Сейфът“ означава единствената отливка, която може да позволи запазената стойност. „same_kind“ означава само безопасни отливки или отливки в рамките на вид. „Несигурно“ означава, че могат да се извършват всякакви преобразувания на данни.
ред: {'K', 'C', 'F', 'A'}(по избор)
Този параметър определя реда на итерация на изчислението/оформлението на паметта на изходния масив. По подразбиране редът ще бъде K. Редът „C“ означава, че изходът трябва да бъде C-непрекъснат. Редът „F“ означава F-непрекъснат, а „A“ означава F-непрекъснат, ако входовете са F-непрекъснати и ако входовете са в C-непрекъснат, тогава „A“ означава C-непрекъснат. „K“ означава да съответства на реда на елементите на входовете (колкото е възможно по-точно).
dtype: тип данни (по избор)
Той замества dtype на изчислението и изходните масиви.
тест: bool (по избор)
По подразбиране този параметър е зададен на true. Ако го зададем на false, изходът винаги ще бъде строг масив, а не подтип.
подпис
Този аргумент ни позволява да предоставим специфичен подпис на 1-d цикъла „за“, използван в основното изчисление.
extobj
Този параметър е списък с дължина 1, 2 или 3, указващ размера на буфера ufunc, цялото число на режима на грешка и функцията за обратно извикване на грешка.
Се завръща
Тази функция връща ndarray, който съдържа естествената логаритмична стойност на x, която принадлежи на всички елементи на входния масив.
Пример 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.
- Създадохме масив 'a' с помощта на функцията np.array().
- Декларирахме променливи b, c и d и присвоихме върнатата стойност съответно на функциите np.log(), np.log2() и np.log10().
- Предадохме масива 'a' във всички функции.
- Накрая се опитахме да отпечатаме стойността на b, c и d.
В изхода е показан ndarray, който съдържа стойностите log, log2 и log10 на всички елементи на изходния масив.
Пример 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 с псевдоним np.
- Също така импортирахме matplotlib.pyplot с псевдоним plt.
- След това създадохме масив 'arr' с помощта на функцията np.array().
- След това декларирахме променливи result1, result2, result3 и присвоихме върнатите стойности съответно на функциите np.log(), np.log2() и np.log10().
- Предадохме масива 'arr' във всички функции.
- Накрая се опитахме да начертаем стойностите на 'arr', result1, result2 и result3.
В резултата е показана графика с четири прави линии с различни цветове.
Пример 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, който съдържа регистрационните стойности на елементите на изходния масив.