Математика – неотъемлемая часть разработки любого приложения. Python содержит отдельную библиотеку, предназначенную для работы с ней. А также есть целый комплекс других модулей, которые дают возможность пользователям производить целый спектр операций с числами.
- Какие есть библиотеки для математики в Python?
- Библиотека Math
- Библиотека Numpy
- SciPy
- Statsmodel
- Scikit-learn
- Как работать с математикой новичку?
- Особенности использования библиотеки Math в Python
- Функции представления чисел
- ceil() и floor() – функции получения целой части числа
- fabs() – абсолютное значение числа
- factorial() – факториал
- fmod() – получение остатка от деления
- Функция frexp()
- Функция fsum() –точная сумма float
- Функции возведения в степень и логарифма
- Функция exp()
- expm1()
- log() – логарифм числа
- log1p()
- log10()
- pow() – степень числа
- sqrt()
- Тригонометрические функции
- Математические константы
- Функции преобразования углов
- Выводы
Какие есть библиотеки для математики в Python?
Python – это универсальный язык программирования, который может использоваться для выполнения целого спектра задач, включая работу с базами данных, научные вычисления, а также создание сайта.
И одно из главных преимуществ Python – расширяемость. То есть, помимо стандартных компонентов этот язык можно дополнять другими. Собственно, и для математических операций есть целый спектр библиотек.
Библиотека Math
Это самый главный инструмент, с помощью которого можно выполнять математические операции в Python. В нее входят все стандартные возможности по части математики, включая сумму, экспоненту, модуль и так далее. Данная библиотека не используется для произведения сложных математических вычислений, таких как умножение матриц. Тем не менее, с главными аспектами справиться она может.
Существенный недостаток библиотеки – низкая скорость работы. Тем не менее, если вы только обучаетесь разработке на Python, начинать нужно именно с нее.
Как это работает? Например, вам необходимо найти экспоненту от 3. Для этого необходимо воспользоваться функцией exp().
from math import exp exp(3) # Вычисление экспоненты
Библиотека Numpy
Если вам необходимо работать с матрицами, то библиотека Numpy – отличный выбор. Наиболее важной характеристикой Numpy является ее способность просто молниеносно производить расчеты. Это реализуется на практике с помощью C-API, позволяющие получать результаты мгновенно.
Например, чтобы выполнить скалярное произведение двух матриц, необходимо ввести следующий код.
import numpy as np mat1 = np.array([[1,2],[3,4]]) mat2 = np.array([[5,6],[7,8]]) np.dot(mat1,mat2)
SciPy
Библиотека math содержит научный инструментарий в Python. Она содержит целый спектр средств для Преобразования Фурье, линейной алгебры, математической оптимизации, и так далее. С помощью модели numpy мы получаем базовую структуру данных массива.
Давайте приведем пример этой библиотеки. Для этого воспользуемся функцией linalg(), с помощью которой производится вычисление детерминанта квадратной матрицы.
from scipy import linalg import numpy as np mat1 = np.array([[1,2],[3,4]]) #DataFlair linalg.det(mat1) # Результат: -2.0
Statsmodel
Если вам необходимо производить статистические расчеты, то тогда обратите внимание на пакет Statsmodel. С его помощью можно производить логический вывод, описательную статистику, а также оценку для разнообразных статистических моделей. Это дает возможность добиться более эффективного статистического исследования данных.
Ниже приводится пример приложения, которое задействует библиотеку Statsmodel.
import numpy as np import statsmodels.api as sm import statsmodels.formula.api as smf input_data = sm.datasets.get_rdataset("Guerry", "HistData").data res = smf.ols('Lottery ~ Literacy + np.log(Pop1831)', data = input_data).fit() print(res.summary())
Scikit-learn
Конечно, современное программирование невозможно представить без машинного обучения. С помощью разнообразных инструментов можно легко осуществлять прогнозирование результатов и классифицирование данных. Чтобы достичь этой цели, Scikit-learn дает возможность воспользоваться целым спектром возможностей, с помощью которых можно сделать классификацию, регрессию и кластеризацию.
from sklearn import linear_model regress = linear_model.LinearRegression() regress.fit([[0,0],[1,1],[2,2]], [0,1,2]) LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False) print(regress.coef_) # Результат: array([0.5, 0.5])
Как работать с математикой новичку?
Конечно, почти все описанные выше библиотеки довольно сложные для новичков. И, возможно, их не понадобится использовать вообще в ваших задачах. Поэтому начинать необходимо со стандартной библиотеки Math, которая содержит основной функционал. Далее мы рассмотрим основные аспекты, которые необходимо знать об этой библиотеке.
Особенности использования библиотеки Math в Python
Модуль Math не написан на Python. Он разработан с использованием языка программирования C, но при этом связан с интерпретатором. Следовательно, его можно использовать и в Python.
Какие основные функции работы с числами содержатся в этой библиотеке?
Функции представления чисел
ceil() и floor() – функции получения целой части числа
Это функции общего назначения. С помощью функции ceil() пользователь может округлить число до самого ближайшего целого в большую сторону. Что касается функции floor, то она попросту удаляет цифры после запятой.
При этом каждая из этих функций принимает десятичное число в качестве аргумента. И объединяет их то, что они возвращают в виде результата целочисленное значение.
Приведем пример этой функции.
# Импорт модуля math import math # Дробный номер number=8.10 # выводим целую часть числа с округлением к большему print("Верхний предел 8.10 это:",math.ceil(number)) # выводим целую часть числа с округлением к меньшему print("Нижний предел 8.10 это:",math.floor(number))
fabs() – абсолютное значение числа
Если необходимо получить абсолютное значение числа, то можно воспользоваться функцией fabs. Если в числе содержится любой отрицательный знак, он попросту убирается. А в результате возвращается положительное значение числа.
# Импорт модуля math import math number = -8.10 # вывод абсолютного значения числа print(math.fabs(number))
factorial() – факториал
С помощью этой функции можно получить факториал положительного целого числа.
# Импорт модуля math import math number = 5 # вывод факториала числа print("факториала числа", math.factorial(number))
fmod() – получение остатка от деления
С помощью этой функции вы получите такой же результат, как если бы воспользовались оператором %. Зачем же тогда нужна отдельная функция, если есть оператор? Все просто. Дело в том, что выражение x % y может принимать в качестве операндов только целые числа. А функция fmod() может использоваться для чисел с плавающей точкой.
# Импорт модуля math import math print(math.fmod(5,2)) print(math.fmod(-5,2)) print(math.fmod(-5.2,2)) print(math.fmod(5.2,2))
Функция frexp()
С помощью этой функции можно получить мантиссу и показатель степени.
import math print(math.frexp(24.8))
Функция fsum() – точная сумма float
Если необходимо получить сумму значений с плавающей точкой в итерируемом объекте, а также сумму списка либо диапазона с данными, то можно воспользоваться функцией fsum().
# Импорт модуля math import math # сумма списка numbers=[.1,.2,.3,.4,.5,.6,.7,.8,8.9] print("сумма ", numbers, ":", math.fsum(numbers)) # сумма диапазона print("сумма чисел от 1 до 10:", math.fsum(range(1,11)))
Функции возведения в степень и логарифма
Функция exp()
Этой функцией принимается один параметр в виде дробного значения, и возвращается e^x.
Пример этой функции был приведен выше. Давайте еще один покажем.
# Импорт модуля math import math print("e в степени 5 ", math.exp(5)) print("e в степени 2.5", math.exp(2.5))
expm1()
Аналогичная предыдущей функция, только возвращает exp(x)-1.
# Импорт модуля math import math print(math.exp(5)-1) print(math.expm1(5))
log() – логарифм числа
С помощью функции log() можно получить логарифм числа. Принимает два аргумента:
- x – число, для которого надо найти логарифм.
- base – основание. По умолчанию – e.
Работает она следующим образом.
# Импорт модуля math import math # логарифм с основанием e print(math.log(2)) # логарифм с указанным основанием (2) print(math.log(64,2))
log1p()
По сути, аналогичная предыдущей функции, только к x добавляет 1.
# Импорт модуля math import math print(math.log1p(2))
log10()
Осуществляет вычисление логарифма по основанию 10.
pow() – степень числа
Эта функция используется для того, чтобы найти степень числа. Функция имеет простой синтаксис pow(Base, Power). То есть, ею принимается два аргумента: основание и степень.
Давайте приведем пример такой функции.
# Импорт модуля math import math print(math.pow(5,4))
sqrt()
С помощью этой функции пользователь может получить квадратный корень из числа. Ею число принимается в виде аргумента, а в качестве результата возвращается квадратный корень.
# Импорт модуля math import math print(math.sqrt(256))
Тригонометрические функции
Python также содержит большое количество тригонометрических функций, таких как синус, косинус, тангенс и другие.
Математические константы
Python включает две математические константы – pi и e. Первая возвращает математическое число Пи, а вторая – e (константу со значением 2,7183…).
Функции преобразования углов
Это функции, с помощью которых можно выполнять операции преобразования углов. Насколько мы знаем, они могут записываться в радианах и градусах. Соответственно, с помощью функций преобразования углов можно конвертировать радианы в градусы, и наоборот. Сами функции следующие:
- degrees(). Функция, позволяющая выполнять конвертацию радиан в градусы.
- radians(), дает возможность получить градусы, основываясь на радианах.
Выводы
Таким образом, Python имеет целый спектр инструментов, позволяющих выполнять математические операции. Это функция преобразования углов, и ряд других.