- Топ-5 библиотек Python, используемых в Data Science
- 5 наиболее популярных библиотек Python для Data Science:
- 1. TensorFlow
- Особенности:
- Области использования:
- 2. NumPy
- Особенности:
- Области использования:
- 3. SciPy
- Особенности:
- Области использования:
- 4. Pandas
- Особенности:
- Области использования:
- 5. Matplotlib
- Особенности:
- Области использования:
- 5 самых полезных математических библиотек Python
- Math
- SymPy
- NumPy
- SciPy
- Pandas
- Заключение
Топ-5 библиотек Python, используемых в Data Science
Сегодня Python является наиболее широко используемым языком программирования. И он не перестает удивлять своих пользователей, когда речь идет о решении как рутинных, так и более сложных задач в области Data Science. Большинство представителей этой области уже ежедневно пользуются возможностям, которые дает им программирование на Python. Ведь этот объектно-ориентированный язык с открытым исходным кодом является простым, легко отлаживаемым и высокоэффективным. Причем преимуществ у Python гораздо больше. Этот язык дополняют крутые библиотеки, которые постоянно востребованы в решении задач, стоящих перед программистами.
5 наиболее популярных библиотек Python для Data Science:
1. TensorFlow
TensorFlow — это библиотека для высокопроизводительных численных расчетов, насчитывающая около 35 000 коммитов на GitHub и активное сообщество, состоящие примерно из 1500 участников. Она используется в различных научных областях и представляет собой структуру для определения и запуска вычислений, в которых используются тензоры. Тензоры это частично определенные вычислительные объекты, которые в конечном счете создают значение.
Особенности:
- Лучшая визуализация компьютерных графиков
- Уменьшает ошибку на 50-60 процентов в нейронном машинном обучении
- Параллельные вычисления для создания сложных моделей
- Удобное управление библиотекой, которая поддерживается Google
- Быстрые обновления и регулярные выпуски новых версий, предоставляющих новые функции
Области использования:
- Распознавание речи и изображений
- Работа с текстом
- Анализ временных последовательностей
- Видео обнаружение
В видеоролике Top 5 Python Libraries For Data Science вы познакомитесь с примером распознавания рукописных цифр с помощью построения простой модели TensorFlow. Ролик вконце статьи.
2. NumPy
NumPy (Numerical Python) является фундаментальным пакетом для численных расчетов в Python, который включает в себя мощный объект N-мерного массива. Он имеет около 18 000 коммитов на GitHub и активное сообщество из 700 участников. Numpy является универсальным пакетом обработки, который дает возможность работы с высокопроизводительными многомерными объектами, называемыми массивами, а также предоставляет сопутствующие инструменты для этого. Благодаря этим массивам, а также функциям и операторам, которые с ними работают, Numpy частично решает проблему медленной работы Python.
Особенности:
- Использование быстрых, предварительно скомпилированных функции для числовых операций
- Высокая эффективность вычислений основанных на операциях с массивами
- Поддержка объектно-ориентированного подхода
- Компактные и быстрые вычисления с использованием векторов
Области использования:
- Широкое использование в анализе данных
- Создание больших N-мерных массивов
- Формирование базы для других библиотек, таких как SciPy и scikit-learn.
- Для замены MATLAB при использовании вместе с SciPy и matplotlib
Из видео вы также узнаете, как создать простой массив и изменить его форму с помощью функций NumPy arange и reshape.
3. SciPy
SciPy (Scientific Python) это другая свободная библиотека Python с открытым исходным кодом, которая широко используется в Data Science для высокоуровневых вычислений. У SciPy 19000 коммитов на GitHub и активное сообщество примерно из 600 участников. Эта библиотека широко используется для научных и технических вычислений так как она расширяет NumPy, и дает возможность пользоваться удобными и эффективными процедурами для научных расчетов.
Особенности:
- Набор алгоритмов и функций построенных на пакете NumPy
- Высокоуровневые команды для операций с данными и визуализации
- Обработка многомерных изображений с SciPy.ndimage submodule
- Включает встроенные функции для решения дифференциальных уравнений
Области использования:
- Обработка многомерных изображений
- Решение дифференциальных уравнений и преобразований Фурье
- Алгоритмы оптимизации
- Линейная алгебра
Простую демонстрацию функций SciPy Можно посмотреть ниже в видео Top 5 Python Libraries For Data Science.
4. Pandas
Pandas (Python data analysis) является обязательным элементом жизненного цикла Data Science. Она является наиболее популярной и широко используемой библиотекой Data Science для Python наравне с Numpy и matplotlib с 17000 коммитов на GitHub и активным сообществом из 1200 участников. Pandas широко используется для анализа и обработки данных, при этом предоставляет возможность пользоваться гибкими структурами, такими например как DataFrame, которая была спроектирована таким образом, чтобы обеспечить интуитивную и быструю работу со структурированными данными.
Особенности:
- Понятный синтаксис и богатые функциональные возможности, которые дают вам массу возможностей для поиска недостающих данных
- Дает возможность создать функцию и многократно пропускать данные через нее
- Высокий уровень абстракции
- Включает в себя высокоуровневые структуры данных и инструменты обработки
Области использования:
- Общая обработка и фильтрация данных
- ETL (extract, transform, load — извлечение, преобразование, загрузка) задачи для преобразования и хранения данных, так как имеет полную поддержку преобразования файлов формата CSV в ее собственный формат для хранения таблиц данных
- Используется во множестве научных и коммерческих областей, включающих финансы, статистику и неврологию
- Работа с функциями временных рядов, такими как генерация диапазона дат, движущееся окно, линейная регрессия и сдвиг даты.
Пример того как создать таблицы с использованием Pandas вы можете посмотреть в нашем видео Top 5 Python Libraries For Data Science.
5. Matplotlib
Matplotlib имеет мощную и при этом еще и красивую визуализацию. Она представляет собой библиотеку построения графиков для Python с 26000 коммитами на GitHub и активным сообществом примерно из 700 участников. Благодаря графикам и чертежам, которые умеет выводить Matplotlib, она широко используется для визуализации данных. Matplotlib также предоставляет объектно-ориентированный API, который можно использовать для встраивания графиков в различные приложения.
Особенности:
- Может использоваться в качестве бесплатной альтернативы MATLAB, с открытым исходным кодом.
- Поддерживает десятки подчиненных приложений и типов данных для вывода, что означает, что вы можете пользоваться Matplotlib вне зависимости от того какая у вас операционная система и какой формат вы предпочитаете.
- Pandas может быть использована в качестве оболочки для Matplotlib API для управления Matplotlib, в качестве фильтра.
- Низкое потребление памяти и хорошая работа во время выполнения.
Области использования:
- Корреляционный анализ переменных.
- Визуализация интервалов 95-процентной вероятности для моделей.
- Обнаружение выделяющихся значений с использованием точечной диаграммы и т. п.
- Визуализация распределения данных для получения реальной картины
Видео Top 5 Python Libraries for Data Science демонстрирует простые примеры, которые помогут получить общее представление о возможностях Matplotlib.
Наряду с этими библиотеками специалисты Data Science также используют возможности некоторых других полезных библиотек:
Подобно TensorFlow, Keras — является еще одной популярной библиотекой, которая широко используется для модулей глубокого обучения и нейронных сетей. Keras поддерживает в качестве подчиненного приложения как TensorFlow, так и Theano, поэтому представляет собой хороший вариант, если вы не хотите погружаться в детали TensorFlow.
Scikit-learn — это библиотека машинного обучения, которая предоставляет практически все необходимые алгоритмы машинного обучения. Scikit-learn предназначен для совместной работы с NumPy и SciPy.
Seabourn — еще одна библиотека для визуализации данных. Это расширение matplotlib, предоставляющее дополнительные типы графиков.
Вот видео Simplilearn, в котором рассматриваются 5 лучших библиотек Python для Data Science, созданное экспертами в этой области.
5 самых полезных математических библиотек Python
Математика в Python не ограничивается простыми выражениями. Существует множество полезных библиотек и модулей, способных поднять ваши вычисления на совершенно другой уровень. В этой статье мы познакомимся с пятью самыми полезными из них.
Math
Рано или поздно наступит момент, когда вам не хватит стандартных математических операторов в Python. Например, придется найти квадратный корень, логарифм или синус. В этом вам поможет модуль Math.
>>> import math >>> math.sqrt(17) 4.123105625617661 >>> math.sin(33) 0.9999118601072672 >>> math.log(15, 2) 3.9068905956085187
Помимо дополнительных математических функций, модуль содержит константы, такие как math.pi , math.e и бесконечность — math.inf . Функция math.isclose() поможет вам сравнивать числа с заданной точностью.
SymPy
SymPy — библиотека для работы с символьными вычислениями. С этим модулем возможно написать системы уравнений, подставить в них значения, сократить математические формулы. Результаты вычислений можно преобразовать в код LaTeX — это пригодится, если вы публикуете свои результаты в научных журналах или пишете диплом.
>>> from sympy import * . x = Symbol('x') . y, z = symbols('y, z') . expr = (x**2 + y**2) * z . expr z*(x**2 + y**2) >>> expr2 = expr.subs(x, 12) . expr2.subs(y, 3) 153*z
NumPy
NumPy — библиотека для работы с n-мерными массивами. Они похожи на вложенные кортежи, но требуют, чтобы все элементы были одного типа. Над массивами целиком и их элементами можно проводить различные операции, недоступные для стандартных типов данных.
>>> import numpy as np >>> a = np.array([1, 0.5, -1.9], dtype=float) >>> b = np.array([[10], [10], [10]], dtype=float) c = np.array(a*b) c array([[ 10., 5., -19.], [ 10., 5., -19.], [ 10., 5., -19.]])
Также в этом пакете доступны продвинутые функции и методы для обработки массивов.
>>> # Ищем среднее по вертикали >>> c.mean(axis=0) array([ 10., 5., -19.]) >>> # Ищем среднее по горизонтали >>> c.mean(axis=1) array([-1.33333333, -1.33333333, -1.33333333])
Библиотека NumPy написана на С и очень хорошо оптимизирована, что позволяет максимально ускорить вычисления. Это делает ее основой для всех продвинутых математических библиотек Python`a.
SciPy
SciPy ещё больше расширяет возможности NumPy. В этой библиотеке есть множество модулей для самых разных вычислений. Например, модуль scipy.spatial позволяет работать с пространственными данными и алгоритмами, а scipy.stats — со статистикой и распределениями вероятностей. Если вы работали с MATLAB, то вам не составит труда разобраться и со SciPy.
from scipy import stats # Берем 30 значений из нормального распределения # со средним = 25 и стандартным отклонением = 10 a = stats.norm.rvs(size=30, loc=25, scale=10) # Рассчитываем эксцесс полученной выборки stats.kurtosis(a)
Pandas
Библиотека Pandas также построена на основе NumPy. Она специализируется на работе с таблицами ( DataFrame ) и временными рядами ( Series ).
>>> import numpy as np . import pandas as pd . df = pd.DataFrame( . 'name': ['Viktor', 'Ann', 'Kim'], . 'age': [20, 35, np.nan], . 'score': [81.17, 93.7, np.nan] . >) . df name age score 0 Viktor 20.0 81.17 1 Ann 35.0 93.70 2 Kim NaN NaN
Библиотека умеет обрабатывать таблицы не хуже полноценных табличных процессоров. Данные можно сортировать, фильтровать и группировать, загружать таблицы в разных форматах и объединять их.
>>> df[df['score'] > 90] name age score 1 Ann 35.0 93.7
Pandas DataFrame используют практически все программы на Python, работающие с таблицами. Также на них часто обучают и проверяют нейросети.
Заключение
Мы рассмотрели самые популярные математические библиотеки Python. Каждая из них по-своему полезна. Для несложных вычислений вам подойдет модуль Math, а для работы с математическими уравнениями и выражениями — SymPy. Библиотека NumPy позволяет эффективно работать с многомерными массивами, поэтому большинство модулей, требующих сложных вычислений зависит от нее. SciPy расширяет возможности NumPy, добавляя модули, специализированные на разных областях науки и математики, а Pandas позволяет работать с таблицами и временными рядами.
Навыки работы с этими библиотеками пригодятся для разнообразных вычислений, которые то и дело требуются в программах. Умение математически обрабатывать данные на Python очень важно сферах Data science и Machine learning. Возможно, сейчас самое время подтянуть алгебру?
Практический Python для начинающих
Станьте junior Python программистом за 7 месяцев