Python offers many inbuilt logarithmic functions under the module “math” which allows us to compute logs using a single line. There are 4 variants of logarithmic functions, all of which are discussed in this article.
1. log(a,(Base)) : This function is used to compute the natural logarithm (Base e) of a. If 2 arguments are passed, it computes the logarithm of the desired base of argument a, numerically value of log(a)/log(Base).
Syntax : math.log(a,Base) Parameters : a : The numeric value Base : Base to which the logarithm has to be computed. Return Value : Returns natural log if 1 argument is passed and log with specified base if 2 arguments are passed. Exceptions : Raises ValueError if a negative no. is passed as argument.
Python3
# Python code to demonstrate the working of # log(a,Base) import math # Printing the log base e of 14 print ( "Natural logarithm of 14 is : " , end = "") print (math.log( 14 )) # Printing the log base 5 of 14 print ( "Logarithm base 5 of 14 is : " , end = "") print (math.log( 14 , 5 )) |
Output :
Natural logarithm of 14 is : 2.6390573296152584 Logarithm base 5 of 14 is : 1.6397385131955606
2. log2(a) : This function is used to compute the logarithm base 2 of a. Displays more accurate result than log(a,2).
Syntax : math.log2(a) Parameters : a : The numeric value Return Value : Returns logarithm base 2 of a Exceptions : Raises ValueError if a negative no. is passed as argument.
Python3
# Python code to demonstrate the working of # log2(a) import math # Printing the log base 2 of 14 print ( "Logarithm base 2 of 14 is : " , end = "") print (math.log2( 14 )) |
Output :
Logarithm base 2 of 14 is : 3.807354922057604
3. log10(a) : This function is used to compute the logarithm base 10 of a. Displays more accurate result than log(a,10).
Syntax : math.log10(a) Parameters : a : The numeric value Return Value : Returns logarithm base 10 of a Exceptions : Raises ValueError if a negative no. is passed as argument.
Python3
# Python code to demonstrate the working of # log10(a) import math # Printing the log base 10 of 14 print ( "Logarithm base 10 of 14 is : " , end = "") print (math.log10( 14 )) |
Output :
Logarithm base 10 of 14 is : 1.146128035678238
3. log1p(a) : This function is used to compute logarithm(1+a) .
Syntax : math.log1p(a) Parameters : a : The numeric value Return Value : Returns log(1+a) Exceptions : Raises ValueError if a negative no. is passed as argument.
Python3
# Python code to demonstrate the working of # log1p(a) import math # Printing the log(1+a) of 14 print ( "Logarithm(1+a) value of 14 is : " , end = "") print (math.log1p( 14 )) |
Output :
Logarithm(1+a) value of 14 is : 2.70805020110221
1. ValueError : This function returns value error if number is negative.
Python3
# Python code to demonstrate the Exception of # log(a) import math # Printing the log(a) of -14 # Throws Exception print ( "log(a) value of -14 is : " , end = "") print (math.log( - 14 )) |
Output :
log(a) value of -14 is :
Runtime Error :
Traceback (most recent call last): File "/home/8a74e9d7e5adfdb902ab15712cbaafe2.py", line 9, in print (math.log(-14)) ValueError: math domain error
One of the application of log10() function is that it is used to compute the no. of digits of a number. Code below illustrates the same.
Python3
# Python code to demonstrate the Application of # log10(a) import math # Printing no. of digits in 73293 print ( "The number of digits in 73293 are : " , end = "") print ( int (math.log10( 73293 ) + 1 )) |
Output :
The number of digits in 73293 are : 5
The natural logarithm (log) is an important mathematical function in Python that is frequently used in scientific computing, data analysis, and machine learning applications. Here are some advantages, disadvantages, important points, and reference books related to log functions in Python:
Advantages:
The log function is useful for transforming data that has a wide range of values or a non-normal distribution into a more normally distributed form, which can improve the accuracy of statistical analyses and machine learning models.
The log function is widely used in finance and economics to calculate compound interest, present values, and other financial metrics.
The log function can be used to reduce the effect of outliers on statistical analyses by compressing the scale of the data.
The log function can be used to visualize data with a large dynamic range or with values close to zero.
Disadvantages:
The log function can be computationally expensive for large datasets, especially if the log function is applied repeatedly.
The log function may not be appropriate for all types of data, such as categorical data or data with a bounded range.
Important points:
- The natural logarithm (log) is calculated using the numpy.log() function in Python.
- The logarithm with a base other than e can be calculated using the numpy.log10() or numpy.log2() functions in Python.
- The inverse of the natural logarithm is the exponential function, which can be calculated using the numpy.exp() function in Python.
- When using logarithms for statistical analyses or machine learning, it is important to remember to transform the data back to its original scale after analysis.
Reference books:
“Python for Data Analysis” by Wes McKinney covers the NumPy library and its applications in data analysis in depth, including the logarithmic function.
“Numerical Python: A Practical Techniques Approach for Industry” by Robert Johansson covers the NumPy library and its applications in numerical computing and scientific computing in depth, including the logarithmic function.
“Python Data Science Handbook” by Jake VanderPlas covers the NumPy library and its applications in data science in depth, including the logarithmic function.
This article is contributed by Manjeet Singh. If you like Lazyroar and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the Lazyroar main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.