Python has several functions that are pre-defined in Python, known as built-in functions. These functions provide convenience and are very easy to use. In this tutorial, we will be looking at the abs() built-in function to calculate the absolute value of a number. As always, there are other ways to calculate an absolute value in Python, and we can apply the calculation to different data structures. Read on to find out how to do it.
Table of contents
- What is an Absolute Value?
- Python Absolute Value
- Get Absolute Value of Integers
- Get Absolute Value of Floating-point numbers
- Get Absolute Floating-Point Values with Python’s math.fabs() function
- Get Absolute Value of Complex Numbers
- Get Absolute Values from Python List of Numbers
- Get Absolute Value from Numpy Array
- Get Absolute Value using Pandas DataFrames
- Get Absolute Value without Built-in Function
- Summary
What is an Absolute Value?
The absolute value in mathematics is the distance of a number from zero.
Absolute numbers are always non-negative, and the absolute value of a negative number is equal to the absolute value of its positive equivalent. Because the absolute value captures the distance between two points, it is generalizable and vital in many areas of mathematics, such as calculus and metric spaces.
Visual Representation of Absolute Value
The diagram shows that negative five is a five-unit measure from zero. Therefore its absolute value is five and not negative five. The number five is five-unit measures from zero, and therefore its absolute value is also five.
Python Absolute Value
The abs() function takes only one argument.
abs(value)
The argument can be an integer or a floating-point number. abs() will return its magnitude if the argument is a complex number.
Get Absolute Value of Integers
To get the absolute value of an integer, we use the whole number as the argument for the abs() function. Let’s take a look at several examples.
# Collection of Integers
intA = 4
intB = -334
intC = -5544001
intD = 0
# Absolute values of integers
absA = abs(intA)
absB = abs(intB)
absC = abs(intC)
absD = abs(intD)
#Print out the results
print(f'Absolute values of integers using abs():\n | {intA} | = {absA}')
print(f'Absolute values of integers using abs():\n | {intB} | = {absB}')
print(f'Absolute values of integers using abs():\n | {intC} | = {absC}')
print(f'Absolute values of integers using abs():\n | {intD} | = {absD}')
Absolute values of integers using abs():
| 4 | = 4
Absolute values of integers using abs():
| -334 | = 334
Absolute values of integers using abs():
| -5544001 | = 5544001
Absolute values of integers using abs():
| 0 | = 0
We can see from the printout that every absolute value is positive or zero.
Get Absolute Value of Floating-point numbers
Floating-point numbers are numbers with a decimal point. In other words, they represent fractional values. We can use the absolute function on floating-point numbers. Let’s look at some examples:
# Some floating-point values
floatA = -23.45
floatB = -0.00015
floatC = 875344.12
floatD = 2.098892124
# Get the absolute values of the floating point values
absFloatA = abs(floatA)
absFloatB = abs(floatB)
absFloatC = abs(floatC)
absFloatD = abs(floatD)
# Print out the results
print(f'Absolute values of floating-point values with using abs():\n | {floatA} | = {absFloatA}')
print(f'Absolute values of floating-point values with using abs():\n | {floatB} | = {absFloatB}')
print(f'Absolute values of floating-point values with using abs():\n | {floatC} | = {absFloatC}')
print(f'Absolute values of floating-point values with using abs():\n | floatD} | = {absFloatD}')
| -23.45 | = 23.45
| -0.00015 | = 0.00015
| 875344.12 | = 875344.12
| 2.098892124 | = 2.098892124
The printouts maintain the digits after the decimal point.
Get Absolute Floating-Point Values with Python’s math.fabs() function
We can also import the math library and use math.fabs() to return the absolute value as a floating-point value. The function will always return a floating-point value even if the argument is an integer. Let’s use math.fabs() with a floating-point value and an integer.
import math
# Using math.fabs() on floating point value
print(math.fabs(-5.65))
# Using math.fabs() on integer
print(math.fabs(2))
5.65
2.0
Get Absolute Value of Complex Numbers
The absolute value of a complex number, a + bi, is the distance between the origin (0, 0) and the point (a, b) in the complex plane, and the formula is
$latex \sqrt{a^{2} + b^{2}}$.
Let’s look at an example of calculating the absolute value of a complex number programmatically. In Python, the j replaces i.
# Get Absolute Value of Complex Number
complex_number = 3 - 4j
abs_val = abs(complex_number)
print(abs_val)
5.0
Here we can see we have calculated $latex \sqrt{3^{2} + 4^{2}}$ to obtain 5 as the absolute value.
Get Absolute Values from Python List of Numbers
You may encounter lists of numbers and need to convert all the numbers to their absolute values.
We can use a for loop or a list comprehension to do this. We will look at how to do both, starting with the for loop.
# Get Absolute Values from Python List of Numbers using a For Loop
a_list = [-32, 560, 20.4, -1.00003]
abs_list = []
for value in a_list:
abs_val = abs(value)
abs_list.append(abs_val)
print(abs_list)
[32, 560, 20.4, 1.00003]
In the code, we create a new empty list, loop over the list containing the numbers and calculate the absolute value for each element in the list, then append the values to the new list.
Let’s look at the list comprehension method. In this case, we do not have to create an empty list, resulting in fewer lines of code.
# Get Absolute Values from Python List of Numbers using a For Loop
a_list = [-32, 560, 20.4, -1.00003]
abs_list = [abs(value) for value in a_list]
print(abs_list)
[32, 560, 20.4, 1.00003]
Get Absolute Value from Numpy Array
Numpy arrays are list-like structures that we can use for data manipulation and analysis. These arrays have built-in functions, which are not present for Python lists. We can use np.abs() to calculate the absolute values of all numbers in a NumPy array and return them in a NumPy array.
# Using np.abs to calculate the absolute values of a NumPy array
import numpy as np
an_array = np.array([5, -75, 102, 888, -3.1])
abs_array = np.abs(an_array)
print(abs_array)
[ 5. 75. 102. 888. 3.1]
The np.abs() function returns the absolute of integer values as integers and the absolutes of floating-point values as floating points.
Get Absolute Value using Pandas DataFrames
We can use Pandas to analyze and manipulate tabular data using the pandas.DataFrame object. We can use the abs() function on columns of data and assign the values to a new column to display the transformations. Pandas uses the NumPy abs() method shown above for its speed of transformations. Let’s look at an example of converting displacement, which can take positive and negative values to distance, which is an absolute value or scalar.
# Get Absolute Value using Pandas DataFrames
import pandas as pd
df = pd.DataFrame({
'Name': ['Tim', 'Pauline', 'Raoul', 'Dimitris'],
'Displacement': [45, -322, 2.45, -50]
})
df['Distance'] = df['Displacement'].abs()
print(df)
Name Displacement Distance
0 Tim 45.00 45.00
1 Pauline -322.00 322.00
2 Raoul 2.45 2.45
3 Dimitris -50.00 50.00
To learn more about using Pandas for data analysis, visit the complete Pandas tutorial for beginners.
Get Absolute Value without Built-in Function
You may have to calculate the absolute value of a given number without using the abs() or math.fabs() functions, for example, in a coding challenge or an interview. To calculate the absolute value of a number, you need to square the number then find its square root. Let’s look at an example.
# Calculating the Absolute function of a number without the abs or fabs() function
int_x = -7.5
abs_x = ((int_x) ** 2) ** 0.5
print(abs_x)
Ensure you wrap the number in its parentheses. If the number is negative and you square it without those extra parentheses, the resultant square will be negative, and the square root will be complex.
We can also use math.sqrt instead of raising to the power of 0.5.
import math
int_x = -7.5
abs_x = math.sqrt((int_x) ** 2)
print(abs_x)
7.5
Summary
Congratulations on finishing the tutorial. You know how to calculate the absolute value of integers, floating-point values, complex numbers, lists, NumPy arrays, and DataFrames. You can use Python’s built-in function abs(), math.fabs(), and numpy.abs(). To summarize, the absolute value of a number is its distance from zero and is always positive even if the candidate number is negative. We can also use the square root of a number squared to calculate the absolute value without built-in functions. The ease of use of built-in functions is one of the reasons Python is among the most popular programming languages for data science and machine learning.
Now you can go and calculate absolute values like a Python pro!
Have fun and happy researching!
Suf is a senior advisor in data science with deep expertise in Natural Language Processing, Complex Networks, and Anomaly Detection. Formerly a postdoctoral research fellow, he applied advanced physics techniques to tackle real-world, data-heavy industry challenges. Before that, he was a particle physicist at the ATLAS Experiment of the Large Hadron Collider. Now, he’s focused on bringing more fun and curiosity to the world of science and research online.