De numpy.log() is een wiskundige functie die wordt gebruikt om de natuurlijke logaritme van x te berekenen (x behoort tot alle invoerarray-elementen). Het is het omgekeerde van de exponentiële functie en ook een elementaire natuurlijke logaritme. De natuurlijke logaritme log is het omgekeerde van de exponentiële functie, zodat log(exp(x))=x. De logaritme met grondtal e is de natuurlijke logaritme.
Syntaxis
numpy.log(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) =
Parameters
x: array_like
Deze parameter definieert de invoerwaarde voor de functie numpy.log().
out: ndarray, Geen, of tuple van ndarray en Geen (optioneel)
js-array
Deze parameter wordt gebruikt om de locatie te definiëren waar het resultaat wordt opgeslagen. Als we deze parameter definiëren, moet deze een vorm hebben die lijkt op de invoeruitzending; anders wordt een nieuw toegewezen array geretourneerd. Een tupel heeft een lengte gelijk aan het aantal uitgangen.
waar: array_like(optioneel)
Het is een toestand die via de ingang wordt uitgezonden. Op deze locatie, waar de voorwaarde True is, wordt de out-array ingesteld op het resultaat ufunc (universele functie); anders behoudt het zijn oorspronkelijke waarde.
casting: {'no','equiv','safe','same_kind','unsafe'}(optioneel)
Deze parameter bepaalt het soort gegevenscasting dat kan plaatsvinden. Het 'nee' betekent dat de gegevenstypen helemaal niet mogen worden gecast. Het 'equiv' betekent dat alleen wijzigingen in de bytevolgorde zijn toegestaan. De 'kluis' betekent de enige cast die de behouden waarde kan toestaan. Met 'same_kind' worden alleen veilige afgietsels of afgietsels binnen een soort bedoeld. Het 'onveilig' betekent dat er gegevensconversies kunnen worden uitgevoerd.
volgorde: {'K', 'C', 'F', 'A'}(optioneel)
Deze parameter specificeert de iteratievolgorde van de berekeningen/geheugenindeling van de uitvoerarray. Standaard is de volgorde K. De volgorde 'C' betekent dat de uitvoer C-aangrenzend moet zijn. De volgorde 'F' betekent F-aangrenzend, en 'A' betekent F-aangrenzend als de ingangen F-aangrenzend zijn en als de ingangen zich in C-aaneengesloten bevinden, dan betekent 'A' C-aangrenzend. 'K' betekent dat de elementvolgorde van de ingangen (zo goed mogelijk) overeenkomt.
dtype: gegevenstype (optioneel)
Het overschrijft het dtype van de berekenings- en uitvoerarrays.
test: bool (optioneel)
tat volledige vorm
Standaard is deze parameter ingesteld op true. Als we dit op false instellen, zal de uitvoer altijd een strikte array zijn en geen subtype.
handtekening
Met dit argument kunnen we een specifieke handtekening geven aan de 1-d-lus 'for', die in de onderliggende berekening wordt gebruikt.
extobj
Deze parameter is een lijst met lengte 1, 2 of 3, die de ufunc-buffergrootte, het gehele getal in de foutmodus en de fout-callback-functie specificeert.
Geeft terug
Deze functie retourneert een ndarray die de natuurlijke logaritmische waarde van x bevat, die tot alle elementen van de invoerarray behoort.
Voorbeeld 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
Uitgang:
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])
In de bovengenoemde code
bash while-lus
- We hebben numpy geïmporteerd met aliasnaam np.
- We hebben een array 'a' gemaakt met behulp van de functie np.array().
- We hebben de variabelen b, c en d gedeclareerd en de geretourneerde waarde van respectievelijk de functies np.log(), np.log2() en np.log10() toegewezen.
- We hebben de array 'a' in alle functies doorgegeven.
- Ten slotte hebben we geprobeerd de waarde van b, c en d af te drukken.
In de uitvoer wordt een ndarray getoond, die de log-, log2- en log10-waarden bevat van alle elementen van de bronarray.
Voorbeeld 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()
Uitgang:
In de bovenstaande code
- We hebben numpy geïmporteerd met aliasnaam np.
- We hebben ook matplotlib.pyplot geïmporteerd met de aliasnaam plt.
- Vervolgens hebben we een array 'arr' gemaakt met behulp van de functie np.array().
- Daarna hebben we de variabele result1, result2, result3 gedeclareerd en de geretourneerde waarden van respectievelijk de functies np.log(), np.log2() en np.log10() toegewezen.
- We hebben de array 'arr' in alle functies doorgegeven.
- Ten slotte hebben we geprobeerd de waarden van 'arr', result1, result2 en result3 in kaart te brengen.
In de uitvoer is een grafiek weergegeven met vier rechte lijnen met verschillende kleuren.
Voorbeeld 3:
import numpy as np x=np.log([2, np.e, np.e**3, 0]) x
Uitgang:
__main__:1: RuntimeWarning: divide by zero encountered in log array([0.69314718, 1. , 3. , -inf])
In de bovenstaande code
- Ten eerste hebben we numpy geïmporteerd met de aliasnaam np.
- We hebben de variabele 'x' gedeclareerd en de geretourneerde waarde van np.log()-functies toegewezen.
- We hebben verschillende waarden in de functie doorgegeven, zoals geheel getal, np.e en np.e**2.
- Ten slotte hebben we geprobeerd de waarde van 'x' af te drukken.
In de uitvoer is een ndarray getoond, die de logwaarden van de elementen van de bronarray bevat.