Самые популярные научные библиотеки Python

Будучи бесплатным, кросс-платформенным, универсальным языком программирования высокого уровня, Python получил широкое распространение в научном сообществе. Ученые ценят Python за его точный и эффективный синтаксис, относительно ровную кривую обучения и тот факт, что он хорошо интегрируется с другими языками (например, C / C ++).

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

Вот наш список самых популярных научных библиотек и инструментов Python:

Астропия

Http://www.astropy.org

Astropy Project - это набор пакетов, предназначенных для использования в астрономии. Базовый пакет Astropy содержит функции, предназначенные для профессиональных астрономов и астрофизиков, но может быть полезен всем, кто занимается разработкой программного обеспечения для астрономии.

Биопайтон

Http://biopython.org

Biopython - это набор некоммерческих инструментов Python для вычислительной биологии и биоинформатики. Он содержит классы для представления биологических последовательностей и аннотаций к последовательностям, и он может читать и записывать в различные форматы файлов.

Кубики

Http://cubes.databrewery.org

Cubes - это легкая среда Python и набор инструментов для разработки приложений для создания отчетов и аналитики, оперативной аналитической обработки (OLAP), многомерного анализа и просмотра агрегированных данных.

DEAP

Https://github.com/deap

DEAP - это эволюционная вычислительная среда для быстрого прототипирования и тестирования идей. Он включает в себя структуры данных и инструменты, необходимые для реализации наиболее распространенных методов эволюционных вычислений, таких как генетический алгоритм, генетическое программирование, стратегии эволюции, оптимизация роя частиц, дифференциальная эволюция и оценка алгоритма распределения.

СОВОК

Http://scoop.readthedocs.org

SCOOP - это модуль Python для распределения одновременных параллельных задач в различных средах, от разнородных сетей рабочих станций до суперкомпьютеров.

PsychoPy

Http://www.psychopy.org

PsychoPy - это пакет для создания экспериментов в области нейробиологии и экспериментальной психологии. PsychoPy предназначен для представления стимулов и сбора данных для широкого спектра нейробиологических, психологических и психофизических экспериментов.

Панды

Http://pandas.pydata.org

Pandas - это библиотека для обработки и анализа данных. Библиотека предоставляет структуры данных и операции для управления числовыми таблицами и временными рядами.

Mlpy

Http://mlpy.sourceforge.net

Mlpy - это библиотека машинного обучения, построенная на основе NumPy / SciPy, научных библиотек GNU. Mlpy предоставляет широкий спектр методов машинного обучения для контролируемых и неконтролируемых задач и направлен на поиск разумного компромисса между модульностью, ремонтопригодностью, воспроизводимостью, удобством использования и эффективностью.

matplotlib

Https://github.com/matplotlib/matplotlib

Matplotlib - это библиотека для построения 2D-графиков на Python, которая выдает показатели качества публикации в различных форматах печатных копий и в интерактивных средах на разных платформах. Matplotlib позволяет создавать графики, гистограммы, спектры мощности, гистограммы, диаграммы ошибок, диаграммы рассеяния и многое другое.

NumPy

Http://www.numpy.org

NumPy - это фундаментальный пакет для научных вычислений с Python, добавляющий поддержку больших многомерных массивов и матриц, а также большую библиотеку высокоуровневых математических функций для работы с этими массивами.

NetworkX

Http://networkx.github.io

NetworkX - это библиотека для изучения графиков, которая помогает создавать, управлять и изучать структуру, динамику и функции сложных сетей.

ТомоПы

Http://tomopy.readthedocs.org/en/latest

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

Theano

Http://deeplearning.net/software/theano

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

SymPy

Http://www.sympy.org

SymPy - это библиотека для символьных вычислений, которая включает в себя различные функции, от базовой символьной арифметики до исчисления, алгебры, дискретной математики и квантовой физики. Он предоставляет возможности компьютерной алгебры либо как отдельное приложение, как библиотека для других приложений, либо в Интернете.

SciPy

Http://www.scipy.org

SciPy - это библиотека, используемая учеными, аналитиками и инженерами, занимающимися научными вычислениями и техническими вычислениями. SciPy содержит модули для оптимизации, линейной алгебры, интеграции, интерполяции, специальных функций, БПФ, обработки сигналов и изображений, решателей ODE и других задач, распространенных в науке и технике.

scikit-learn

Http://scikit-learn.org/stable

scikit-learn - это библиотека машинного обучения. Он включает в себя различные алгоритмы классификации, регрессии и кластеризации, включая вспомогательные векторные машины, случайные леса, повышение градиента, k-средних и DBSCAN, и предназначен для взаимодействия с числовыми и научными библиотеками Python NumPy и SciPy.

scikit-изображение

Http://scikit-image.org

scikit-image - это библиотека обработки изображений. Он включает в себя алгоритмы сегментации, геометрических преобразований, манипулирования цветовым пространством, анализа, фильтрации, морфологии, обнаружения признаков и многого другого.

Научный Питон

Http://dirac.cnrs-orleans.fr/plone/software/scientificpython

ScientificPython - это набор модулей для научных вычислений. Он содержит поддержку геометрии, математических функций, статистики, физических единиц, ввода-вывода, визуализации и распараллеливания.

SageMath

Http://www.sagemath.org

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

Veusz

Http://home.gna.org/veusz

Veusz - это научный пакет для построения графиков и графиков, разработанный для создания графиков публикационного качества в популярных векторных форматах, включая PDF, PostScript и SVG.

Графический инструмент

Http://graph-tool.skewed.de

Graph-tool - это модуль для обработки и статистического анализа графиков.

SunPy

Http://sunpy.org

SunPy - это среда анализа данных, специализирующаяся на предоставлении программного обеспечения, необходимого для анализа данных о Солнце и гелиосфере на Python.

Боке

Http://bokeh.pydata.org

Bokeh - это интерактивная библиотека визуализации Python, предназначенная для презентаций в современных веб-браузерах. Bokeh может помочь любому, кто хочет быстро и легко создавать интерактивные графики, информационные панели и приложения для обработки данных. Его цель - обеспечить элегантную, лаконичную конструкцию новой графики в стиле D3.js, но также предоставить эту возможность с высокопроизводительной интерактивностью для очень больших или потоковых наборов данных.

TensorFlow

Https://www.tensorflow.org/

TensorFlow - это библиотека программного обеспечения с открытым исходным кодом для машинного обучения для решения ряда задач, разработанная Google для удовлетворения их потребностей в системах, способных создавать и обучать нейронные сети для обнаружения и расшифровки закономерностей и корреляций, аналогично обучению и рассуждению, которые используют люди. В настоящее время он используется как для исследований, так и для производства продуктов Google, часто заменяя роль своего предшественника с закрытым исходным кодом, DistBelief.

Nilearn

Http://nilearn.github.io/

Nilearn - это модуль Python для быстрого и простого статистического изучения данных NeuroImaging. Nilearn упрощает использование многих передовых методов машинного обучения, распознавания образов и многомерных статистических методов для данных нейровизуализации для таких приложений, как MVPA (анализ паттернов Мутли-Вокселя), декодирование, прогнозное моделирование, функциональная связь, парцеллы мозга, коннектомы.

Дмельт

Http://jwork.org/dmelt/

DataMelt или DMelt - это программное обеспечение для числовых вычислений, статистики, анализа больших объемов данных («большие данные») и научной визуализации. Программа может использоваться во многих областях, таких как естественные науки, инженерия, моделирование и анализ финансовых рынков. DMelt можно использовать с несколькими языками сценариев, включая Python / Jython, BeanShell, Groovy, Ruby, а также с Java.

Python-weka-обертка

Https://pypi.python.org/pypi/python-weka-wrapper

Weka - это пакет программного обеспечения для машинного обучения, написанный на Java, разработанный в Университете Вайкато, Новая Зеландия. Он содержит набор инструментов визуализации и алгоритмов для анализа данных и прогнозного моделирования, а также графические пользовательские интерфейсы для легкого доступа к этим функциям. Пакет python-weka-wrapper позволяет легко запускать алгоритмы и фильтры Weka из Python.

Даск

Http://dask.pydata.org/en/latest/

Dask - это гибкая библиотека параллельных вычислений для аналитических вычислений, состоящая из двух компонентов: 1) динамическое планирование задач, оптимизированное для вычислений, оптимизированное для интерактивных вычислительных рабочих нагрузок, и 2) коллекции больших данных, такие как параллельные массивы, фреймы данных и списки, расширяющие общие интерфейсы, такие как NumPy. , Pandas или итераторы Python в средах с объемом памяти или распределенных средах.

Мы что-нибудь упустили?

Есть ли какой-нибудь инструмент, который мы упустили? С таким количеством пакетов и инструментов Python, которые нужно изучить, есть большая вероятность, что вы знаете несколько интересных новых библиотек Python, которые входят в этот список. Не стесняйтесь добавлять любой дополнительный инструмент или программное обеспечение, которое, по вашему мнению, имеет отношение к делу, в разделе комментариев.

Хотите узнать больше?

Чтобы узнать больше о веб-разработке Python / JS, практическом применении Agile / Scrum и эффективном дизайне программного продукта, посетите наш блог:

Первоначально опубликовано на stxnext.com 12 апреля 2017 г.