logo

numpy.log() i Python

numpy.log() är en matematisk funktion som används för att beräkna den naturliga logaritmen för x(x tillhör alla inmatningselementen). Det är inversen av exponentialfunktionen samt en elementmässig naturlig logaritm. Den naturliga logaritmloggen är motsatsen till exponentialfunktionen, så att log(exp(x))=x. Logaritmen i basen e är den naturliga logaritmen.

Syntax

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

Parametrar

x: array_like

Den här parametern definierar inmatningsvärdet för funktionen numpy.log() .

ut: ndarray, None, eller tuppel av ndarray och None (valfritt)

Denna parameter används för att definiera platsen där resultatet lagras. Om vi ​​definierar denna parameter måste den ha en form som liknar ingångssändningen; annars returneras en nytilldelad array. En tuppel har en längd som är lika med antalet utgångar.

där: array_like (valfritt)

Det är ett tillstånd som sänds över ingången. På den här platsen, där villkoret är True, kommer utmatrisen att ställas in på resultatet ufunc (universell funktion); annars kommer det att behålla sitt ursprungliga värde.

casting: {'no','equiv','safe','same_kind','unsafe'}(valfritt)

maskinskriven var och en

Den här parametern styr vilken typ av datacasting som kan inträffa. 'Nej' betyder att datatyperna inte ska kastas alls. 'Equiv' betyder att endast byte-ordningsändringar är tillåtna. Den 'safe' betyder den enda cast, som kan tillåta det bevarade värdet. 'same_kind' betyder endast säkra kast eller kast inom ett slag. Den 'osäkra' betyder att alla datakonverteringar kan göras.

order: {'K', 'C', 'F', 'A'}(valfritt)

Den här parametern specificerar beräknings iterationsordningen/minneslayouten för utgångsmatrisen. Som standard kommer ordningen att vara K. Ordningen 'C' betyder att utgången ska vara C-angränsande. Ordningen 'F' betyder F-angränsande, och 'A' betyder F-angränsande om ingångarna är F-angränsande och om ingångarna är i C-angränsande, då betyder 'A' C-angränsande. 'K' betyder att matcha elementordningen för ingångarna (så nära som möjligt).

strint till int

dtype: data-type (valfritt)

Den åsidosätter d-typen för beräknings- och utmatningsmatriserna.

test: bool (valfritt)

Som standard är denna parameter satt till true. Om vi ​​ställer in den på false kommer utdata alltid att vara en strikt array, inte en subtyp.

signatur

Detta argument tillåter oss att tillhandahålla en specifik signatur till 1-d loop 'for', som används i den underliggande beräkningen.

extobj

Den här parametern är en lista med längd 1, 2 eller 3 som anger ufunc-buffertstorleken, fellägets heltal och felåteruppringningsfunktionen.

Returnerar

Denna funktion returnerar en ndarray som innehåller det naturliga logaritmiska värdet av x, som tillhör alla element i inmatningsmatrisen.

Exempel 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 

Produktion:

 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]) 

I ovan nämnda kod

  • Vi har importerat numpy med alias np.
  • Vi har skapat en array 'a' med funktionen np.array().
  • Vi har deklarerat variablerna b, c och, d och tilldelat det returnerade värdet av funktionerna np.log(), np.log2() respektive np.log10().
  • Vi har passerat arrayen 'a' i alla funktioner.
  • Till sist försökte vi skriva ut värdet på b, c och d.

I utgången har en ndarray visats som innehåller log-, log2- och log10-värdena för alla element i källmatrisen.

Exempel 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() 

Produktion:

understrykning
numpy.log()

I ovanstående kod

  • Vi har importerat numpy med alias np.
  • Vi har också importerat matplotlib.pyplot med alias namn plt.
  • Därefter har vi skapat en array 'arr' med funktionen np.array().
  • Efter det deklarerade vi variabel resultat1, resultat2, resultat3 och tilldelade de returnerade värdena för funktionerna np.log(), np.log2() respektive np.log10().
  • Vi har passerat arrayen 'arr' i alla funktioner.
  • Till sist försökte vi plotta värdena för 'arr', result1, result2 och result3.

I utgången har en graf med fyra raka linjer med olika färger visats.

Exempel 3:

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

Produktion:

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

I ovanstående kod

  • För det första har vi importerat numpy med alias np.
  • Vi har deklarerat variabeln 'x' och tilldelat det returnerade värdet av np.log() funktioner.
  • Vi har skickat olika värden i funktionen, som heltalsvärde, np.e och np.e**2.
  • Till sist försökte vi skriva ut värdet på 'x'.

I utgången har en ndarray visats som innehåller loggvärdena för elementen i källmatrisen.