Учебное пособие по SciPy в Python:что такое | Примеры библиотек и функций
SciPy в Python
SciPy в Python — это библиотека с открытым исходным кодом, используемая для решения математических, научных, инженерных и технических задач. Это позволяет пользователям манипулировать данными и визуализировать данные, используя широкий спектр высокоуровневых команд Python. SciPy построен на расширении Python NumPy. SciPy также произносится как «Sigh Pi».
Подпакеты SciPy:
- Файловый ввод/вывод – scipy.io
- Специальная функция – scipy.special
- Операция линейной алгебры — scipy.linalg
- Интерполяция – scipy.interpolate
- Оптимизация и подгонка – scipy.optimize
- Статистика и случайные числа – scipy.stats
- Числовое интегрирование — scipy.integrate
- Быстрые преобразования Фурье — scipy.fftpack
- Обработка сигналов — scipy.signal
- Обработка изображений – scipy.ndimage
Из этого руководства по Python SciPy вы узнаете:
- Что такое SciPy?
- Зачем использовать SciPy
- Numpy VS SciPy
- SciPy — установка и настройка среды
- Пакет файлового ввода/вывода:
- Пакет специальных функций:
- Линейная алгебра с SciPy:
- Дискретное преобразование Фурье — scipy.fftpack
- Оптимизация и вписывание в SciPy – scipy.optimize
- Алгоритм Нелдера-Мида:
- Обработка изображений с помощью SciPy — scipy.ndimage
Зачем использовать SciPy
- SciPy содержит множество подпакетов, которые помогают решить наиболее распространенную проблему, связанную с научными вычислениями.
- Пакет SciPy в Python является наиболее часто используемой научной библиотекой, уступая лишь научной библиотеке GNU для C/C++ или Matlab.
- Простота в использовании и понимании, а также высокая вычислительная мощность.
- Он может работать с массивом библиотеки NumPy.
Numpy VS SciPy
Нумпи:
- Numpy написан на C и используется для математических или числовых расчетов.
- Это быстрее, чем другие библиотеки Python
- Numpy — это самая полезная библиотека для обработки и анализа данных, позволяющая выполнять базовые вычисления.
- Numpy не содержит ничего, кроме типа данных массива, который выполняет самые основные операции, такие как сортировка, формирование, индексирование и т. д.
SciPy:
- SciPy построен поверх NumPy
- Модуль SciPy в Python представляет собой полнофункциональную версию линейной алгебры, в то время как Numpy содержит лишь несколько функций.
- Большинство новых функций Data Science доступны в Scipy, а не в Numpy.
SciPy — установка и настройка среды
Вы также можете установить SciPy в Windows через pip
06
Установите Scipy в Linux
15пре>Установите SciPy на Mac
23Прежде чем мы начнем изучать SciPy Python, вам необходимо знать базовые функции, а также различные типы массивов NumPy
Стандартный способ импорта модулей SciPy и Numpy:
37Пакет файлового ввода/вывода:
Scipy, пакет ввода-вывода, имеет широкий набор функций для работы с файлами различных форматов:Matlab, Arff, Wave, Matrix Market, IDL, NetCDF, TXT, CSV и бинарный формат.
Возьмем пример одного формата файла Python SciPy, который регулярно используется в MatLab:
45Вывод:
53Пояснение кода
- Строка 1 и 2: Импортируйте основную библиотеку SciPy в Python с пакетом ввода-вывода и Numpy.
- Строка 3 :создать размерный массив 4 x 4
- Строка 4 :сохранить массив в example.mat. файл.
- Строка 5: Получить данные из example.mat файл
- Строка 6 :вывод на печать.
Пакет специальных функций
- scipy.special пакет содержит множество функций математической физики.
- Специальные функции SciPy включают кубический корень, экспоненту, экспоненту логарифмической суммы, Ламберта, перестановку и комбинацию, гамму, бессель, гипергеометрию, кельвин, бета, параболический цилиндр, экспоненту относительной ошибки и т. д.
- Чтобы описать все эти функции одной строкой, введите в консоли Python:
66
Функция кубического корня:
Функция кубического корня находит кубический корень значений.
Синтаксис:
78
Пример:
84
Вывод: массив([3., 4.])
Экспоненциальная функция:
Экспоненциальная функция вычисляет 10**x поэлементно.
Пример:
94
Вывод:[1.e+01 1.e+10]
Перестановки и комбинации:
SciPy также предоставляет функциональные возможности для расчета перестановок и комбинаций.
Комбинации — scipy.special.comb(N,k)
Пример:
102
Выход:15,0
Перестановки —
119
Пример:
124
Результат:20
Экспоненциальная функция логарифмической суммы
Log Sum Exponential вычисляет логарифм экспоненциального входного элемента суммы.
Синтаксис:
139
Функция Бесселя
Функция расчета N-го целочисленного порядка
Синтаксис:
141
Линейная алгебра с SciPy
- Линейная алгебра SciPy — это реализация библиотек BLAS и ATLAS LAPACK.
- Линейная алгебра работает очень быстро по сравнению с BLAS и LAPACK.
- Подпрограмма линейной алгебры принимает объект двумерного массива, и на выходе также является двумерным массивом.
Теперь давайте проверим с помощью scipy.linalg.
Вычисление детерминанта двумерной матрицы,
154
Вывод: -7,0
Обратная матрица —
160
Обратная матрица Scipy вычисляет обратную любую квадратную матрицу.
Посмотрим,
174
Вывод:
181
Собственные значения и собственный вектор
scipy.linalg.eig()
- Самая распространенная проблема в линейной алгебре — это собственные значения и собственный вектор, которые можно легко решить с помощью eig(). <сильный> сильный> функция.
- Теперь давайте найдем собственное значение (X ) и соответствуют собственному вектору двумерной квадратной матрицы.
Пример
192
Вывод:
207
Дискретное преобразование Фурье — scipy.fftpack
- ТПФ – это математический метод, который используется для преобразования пространственных данных в частотные данные.
- БПФ (быстрое преобразование Фурье) — это алгоритм вычисления ДПФ.
- БПФ применяется к многомерному массиву.
- Частота определяет количество сигналов или длину волны в определенный период времени.
Пример: Возьмите волну и покажите, используя библиотеку Matplotlib. возьмем пример простой периодической функции sin(20 × 2πt)
215
Вывод:
Вы можете видеть это. Частота составляет 5 Гц, а его сигнал повторяется через 1/5 секунды — это звонок в определенный период времени.
Теперь воспользуемся этой синусоидой с помощью приложения DFT.
224
Вывод:
- Отчетливо видно, что выходные данные представляют собой одномерный массив.
- Ввод, содержащий комплексные значения, равен нулю, кроме двух точек.
- В примере DFT мы визуализируем величину сигнала.
Оптимизация и вписывание в SciPy — scipy.optimize
- Оптимизация предоставляет полезный алгоритм минимизации аппроксимации кривых, многомерных или скалярных и корневых аппроксимаций.
- Давайте рассмотрим пример скалярной функции. чтобы найти минимальную скалярную функцию.
233
Вывод:
Оптимизация успешно завершена.
Текущее значение функции:-23,241676
Итерации:4
Оценки функций:18
Оценка градиента:6
массив([-1.67096375])
- В данном примере оптимизация производится с помощью алгоритма градиентного спуска из начальной точки.
- Но возможной проблемой являются локальные минимумы, а не глобальные минимумы. Если мы не находим соседей глобальных минимумов, то нам нужно применить глобальную оптимизацию и найти функцию глобальных минимумов, используемую как basinhopping() который сочетает в себе локальный оптимизатор.
optimize.basinhopping(function, 0)
Вывод:
246
Алгоритм Нелдера-Мида:
- Алгоритм Нелдера-Мида выбирает параметр метода.
- Это наиболее простой способ минимизации для корректной работы.
- Алгоритм Нелдера-Мида не используется для оценки градиента, поскольку поиск решения может занять больше времени.
256
Вывод:
260
Обработка изображений с помощью SciPy — scipy.ndimage
- scipy.ndimage — это подмодуль SciPy, который в основном используется для выполнения операций, связанных с изображениями.
- nизображение означает n-мерное изображение.
- Обработка изображений SciPy обеспечивает преобразование геометрии (поворот, обрезка, отражение), фильтрацию изображений (резкость и удаление), отображение изображения, сегментацию изображения, классификацию и извлечение признаков.
- Разное в SciPy содержит готовые изображения, которые можно использовать для выполнения задач по обработке изображений
Пример: Возьмем пример геометрического преобразования изображений
274
Вывод:
Теперь мы переворачиваем текущее изображение:
289
Вывод:
<сильный> сильный>
Пример: Вращение изображения с помощью Scipy,
290
Вывод:
Интеграция с Scipy — цифровая интеграция
- Когда мы интегрируем любую функцию, где аналитическое интегрирование невозможно, нам нужно обратиться к численному интегрированию
- SciPy предоставляет функции для интеграции функций с числовым интегрированием.
- scipy.integrate библиотека имеет одиночное интегрирование, двойное, тройное, кратное, квадрат Гаусса, правила Ромберга, трапеции и правила Симпсона.
Пример: Теперь рассмотрим пример единой интеграции.
Здесь а — верхний предел и b нижний предел
300
Вывод:
(0,33333333333333337, 3,700743415417189e-15)
Здесь функция возвращает два значения, в которых первое значение представляет собой интегрирование, а второе значение представляет собой расчетную ошибку в интеграле.
Пример. Теперь возьмем пример SciPy с двойной интеграцией. Мы находим двойное интегрирование следующего уравнения,
312
Вывод:
(3.0, 9.657432734515774e-14)
Вы видели, что приведенный выше вывод аналогичен предыдущему.
Обзор
- SciPy (произносится как «Sigh Pi») — это библиотека с открытым исходным кодом на основе Python, которая используется в математике, научных вычислениях, инженерии и технических вычислениях.
- SciPy содержит множество подпакетов, которые помогают решить наиболее распространенную проблему, связанную с научными вычислениями.
- SciPy построен поверх NumPy
Имя пакета | Описание |
---|---|
scipy.io |
|
scipy.special |
|
scipy.linalg |
|
scipy.interpolate |
|
scipy.optimize |
|
scipy.stats |
|
scipy.integrate |
|
scipy.fftpack |
|
scipy.signal |
|
scipy.ndimage |
|
Python
- Оператор Python Print():как печатать с примерами
- Количество строк Python() с ПРИМЕРАМИ
- Python String format() Объясните с ПРИМЕРАМИ
- Лямбда-функции Python с ПРИМЕРАМИ
- Функция abs() в Python:примеры абсолютных значений
- Функция Python round() с ПРИМЕРАМИ
- Функция Python map() с ПРИМЕРАМИ
- Python Timeit() с примерами
- Учебное пособие по доходности в Python:генератор и пример доходности и возврата
- type() и isinstance() в Python с примерами