abs()

В этом руководстве вы узнаете, как рассчитать абсолютное значение в Python с помощью функции abs(). Вы узнаете, что представляет собой абсолютное значение и как его вычислить. Также вы научитесь вычислять абсолютное значение в Python для целых чисел, чисел с плавающей точкой и комплексных чисел. В заключение, вы научитесь применять функцию абсолютного значения на практических примерах.

Оглавление

Что такое абсолютная ценность?

Абсолютное значение — это расстояние между числом и 0 на числовой прямой, что означает, что это положительное число любого целого числа, дроби или комплексного числа.

Некоторые уникальные атрибуты абсолютных чисел:

  1. Они всегда неотрицательные (то есть, они равны 0 или положительны)

  2. Абсолютное значение отрицательного числа равно абсолютному значению его положительного эквивалента.

Абсолютные числа часто используются в математике, но также имеют множество практических применений. Например, если бы вы разрабатывали программу, которая использовалась бы для расчета пройденного расстояния за день, вам бы хотелось включить «отрицательное расстояние» (расстояния, пройденные назад). Из-за этого вам нужно было бы преобразовать эти отрицательные числа в положительные, чтобы правильно их суммировать. Вот где пригодятся абсолютные числа.

Давайте посмотрим, как можно вычислить абсолютное значение в Python, используя функцию

Понимание функции Abs() в Python

Python включает в себя встроенную функцию для расчета абсолютных значений. Эта функция называется abs(). Функция принимает один параметр: целое число, число с плавающей точкой или комплексное число. Функция возвращает абсолютное значение любого числа, переданного в неё.

abs(number)

Давайте посмотрим, как мы можем использовать функцию abs() для вычисления абсолютного значения в Python.

Вычисление абсолютного значения в Python с использованием Abs()

Давайте посмотрим, насколько легко использовать функцию abs() в Python для вычисления абсолютного значения. Мы передадим на вход три примера: целое число, число с плавающей точкой и комплексное число.

Давайте начнем:

# Calculating an Absolute Value in Python using abs()
integer1 = -10
integer2 = 22
float1 = -1.101
float2 = 1.234
zero = 0

print(abs(integer1))
print(abs(integer2))
print(abs(float1))
print(abs(float2))
print(abs(zero))

# Returns:
# 10
# 22
# 1.101
# 1.234
# 0

Мы видим здесь, что, передавая просто целое число или число с плавающей точкой, мы можем вернуть его соответствующее абсолютное значение, используя функцию abs() в Python.

При передаче комплексного числа возвращается его модуль

Давайте попробуем ещё один пример, где мы передаём комплексное число и смотрим, что вернёт функция

# Calculating the Magnitude of a Complex Number of abs()

complex_number = (3 - 4j)
print(abs(complex_number))

# Returns 5.0

В следующем разделе вы узнаете, как вычислить абсолютное значение без использования функции.

Вычислить абсолютное значение Python без функции

Возможны ситуации, когда вам потребуется найти абсолютное значение заданного числа без использования функции abs(). Это может возникнуть на собеседованиях по программированию или в других ситуациях

Один из способов достичь этого - сначала возвести число в квадрат, а затем извлечь из него квадратный корень.

Давайте посмотрим, как мы можем это сделать:

# Calculating the Magnitude of a Complex Number of without a function

sample_number = -9.1
absolute_number = (sample_number ** 2) ** 0.5

print(absolute_number)

# Returns: 9.1

В следующем разделе вы узнаете, как рассчитать абсолютное значение каждого числа в списке.

Получить абсолютное значение списка Python

Вам может часто встретиться ситуация, когда вы работаете со списком данных, содержащим числа, и вам нужно преобразовать все числа в их абсолютные значения.

Мы можем использовать либо цикл for, либо генератор списка для выполнения этой задачи. Давайте сначала рассмотрим, как это сделать с использованием цикла for:

# Converting a Python lists' values to their absolute values using a for loop

sample_list = [-99, 123, -1.34, 3.14]

abs_list = list()
for value in sample_list:
    absolute = abs(value)
    abs_list.append(absolute)

print(abs_list)

# Returns: [99, 123, 1.34, 3.14]

Давайте разберем, что мы здесь сделали:

  1. Мы создали новый пустой список

  2. Мы прошлись по нашему списку, содержащему наши числа, и вычислили его абсолютное значение с помощью функции abs().

  3. Затем мы добавляем это число в наш новый список.

Теперь, когда у нас есть четкое понимание того, как добиться этого с помощью цикла for, давайте преобразуем это в понимание списка на Python.

# Converting a Python lists' values to their absolute values using a list comprehension

sample_list = [-99, 123, -1.34, 3.14]

abs_list = [abs(item) for item in sample_list]
print(abs_list)

# Returns: [99, 123, 1.34, 3.14]

Использование списочного включения позволяет нам пропустить шаг создания пустого списка и в данном случае может быть гораздо проще для понимания.

В следующем разделе вы узнаете, как вычислить абсолютные значения чисел, содержащихся в массиве numpy.

Получить абсолютное значение массива Numpy

Массивы Numpy - это структуры, похожие на списки, но они обладают рядом встроенных методов, отличающихся от методов списков в Python.

Например, одна из функций numpy, np.abs(), принимает на вход массив numpy и преобразует все его числа в их абсолютные значения.

Давайте посмотрим на пример того, как мы можем сделать это с использованием numpy и Python:

# Converting a numpy array to absolute values
import numpy as np

sample_array = np.array([-99, 123, -1.34, 3.14])

abs_array = np.abs(sample_array)
print(abs_array)

# Returns: [ 99.   123.     1.34   3.14]

В следующем разделе вы узнаете, как преобразовать столбец Pandas в его абсолютные значения.

Преобразование столбца Pandas в абсолютные значения

Pandas упрощает работу с табличными данными, сохраняя их в объекте pandas.DataFrame. Давайте загрузим DataFrame в Pandas и научимся преобразовывать значения столбца в их абсолютные значения с помощью встроенных функций.

# Converting a Pandas dataframe column to its absolute values
import pandas as pd

df = pd.DataFrame({
    'Name': ['Nik', 'Kate', 'Michelle', 'Matt'],
    'Distance': [-100, 23, 1.02, -3.31]
})

df['Distance Absolute'] = df['Distance'].abs()

print(df)

# Returns:
#        Name  Distance  Distance Absolute
# 0       Nik   -100.00             100.00
# 1      Kate     23.00              23.00
# 2  Michelle      1.02               1.02
# 3      Matt     -3.31               3.31

Давайте рассмотрим, что мы здесь сделали:

  1. Мы загрузили образец фрейма данных

  2. Мы применили функцию .abs() к столбцу данных и присвоили результат новому столбцу, чтобы показать его новые преобразования.

Под капотом Pandas использует указанный выше метод numpy для ускорения своих трансформаций.

Заключение

В этом посте вы узнали, как рассчитать абсолютное значение с использованием Python. Вы также узнали, как манипулировать значениями списка в Python, преобразуя их в абсолютные значения, как использовать функцию numpy.abs() для преобразования всего массива в их абсолютные значения, а также как преобразовать столбцы датафрейма Pandas в их абсолютные значения.

Чтобы узнать больше о функции abs() в Python, ознакомьтесь с официальной документацией здесь.

Last updated