NumPy log() Function
The NumPy log() function is used to compute the natural logarithm (base e) of all elements in an input array. It calculates loge(x) for each element x in the array.
This function can be applied to scalars, lists, or NumPy arrays and will return an array of the same shape with the logarithm of each input value.
Syntax
Following is the syntax of the NumPy log() function −
numpy.log(x, /, out=None, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])
Parameters
This function accepts the following parameters −
- x: The input array or scalar. The function computes the natural logarithm of each element of the array or scalar.
- out (optional): A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned.
- where (optional): This condition is broadcast over the input. At locations where the condition is True, the result will be computed. Otherwise, the result will retain its original value.
- casting (optional): Controls what kind of data casting may occur. Defaults to 'same_kind'.
- order (optional): Controls the memory layout order of the result. 'C' means C-order, 'F' means Fortran-order, 'A' means 'F' if inputs are all F, 'C' otherwise, 'K' means match the layout of the inputs as closely as possible.
- dtype (optional): The type of the returned array and of the accumulator in which the elements are processed. The dtype of x is used by default unless dtype is specified.
- subok (optional): If True, then sub-classes will be passed-through, otherwise the returned array will be forced to be a base-class array.
Return Value
This function returns an array where each element is the natural logarithm of the corresponding element in the input array x. If out is provided, it returns a reference to out.
Example: Basic Usage of log() Function
In the following example, we use the log() function to compute the natural logarithm for each element in a 1-dimensional array −
import numpy as np # Creating a 1-dimensional array arr = np.array([1, 2, 3, 4]) # Applying log to each element result = np.log(arr) print(result)
The output obtained will be −
[0. 0.69314718 1.09861229 1.38629436]
Example: log() Function with Broadcasting
In this example, we demonstrate the use of broadcasting with the log() function. We create a 2-dimensional array and apply log on it −
import numpy as np # Creating a 2-dimensional array arr = np.array([[1, 2, 3], [4, 5, 6]]) # Applying log to each element result = np.log(arr) print(result)
This will produce the following result −
[[0. 0.69314718 1.09861229] [1.38629436 1.60943791 1.79175947]]
Example: Log of a Scalar Value
In this example, we apply the log() function to a scalar value −
import numpy as np # Scalar value scalar = 10 # Applying log to the scalar result = np.log(scalar) print(result)
The output obtained is −
2.302585092994046
Example: Log of Negative Values (Warning)
In this example, we apply the log() function to an array with negative values. The natural logarithm of a negative number is undefined, so a warning will be raised −
import numpy as np # Creating a 1-dimensional array with negative values arr = np.array([-1, -2, -3]) # Applying log to each element (will raise a warning for negative values) result = np.log(arr) print(result)
This will produce the following warning −
/home/cg/root/673acdd6238d1/main.py:7: RuntimeWarning: invalid value encountered in log result = np.log(arr) [nan nan nan]