ћерион Ќетворкс

25 минут

Python часто называют Ђ€зыком программировани€ с батарейками в комплектеї, или, иначе говор€, полностью укомплектованным. Ёто лишь означает, что в него встроен р€д готовых библиотек, которые разработчики могут использовать, чтобы облегчить свою работу.  ак вы, наверное, уже догадались, существует огромное количество библиотек дл€ этого интерпретируемого высокоуровневого €зыка программировани€ общего назначени€.

Ќет никаких сомнений в том, что одна из причин такой попул€рности Python Ц это наличие более ста тыс€ч библиотек на любой вкус. „ем больше библиотек и пакетов в своем распор€жении имеет €зык программировани€, тем больше существует различных вариантов его использовани€.

“рудно сказать, какие из тыс€ч доступных библиотек Python на самом деле хороши, а какие не сто€т не вашего внимани€. ƒл€ того, чтобы помочь вам, мы перечислили в этой статье некоторые лучшие библиотеки Python. ¬аш фаворит есть в этом списке? „итайте дальше, чтобы это узнать!


„то такое библиотека Python?

ѕрежде чем мы сможем ответить на этот вопрос, нам нужно пон€ть, что такое библиотека Ц по крайней мере, с точки зрени€ программировани€. Ѕиблиотеки состо€т из классов, служебных методов и модулей.  огда вы пишете код дл€ своего приложени€, эти вещи могут вам пригодитьс€. ¬место того, чтобы писать код с нул€, вы можете воспользоватьс€ готовыми компонентами библиотеки, чтобы выполнить какие-то определенные задачи в вашем коде. Ѕлагодар€ этому вы сэкономите много времени и сил. Ѕолее того, библиотеки позвол€ют использовать код повторно и в то же врем€ устанавливают некоторые стандарты дл€ разработчиков. “ак что же такое библиотеки Python?

“ак как Python стал наиболее широко используемым €зыком программировани€ за последние годы, то его используют дл€ самых различных целей и приложений. ќдна из главных причин, по которой Python так попул€рен, заключаетс€ в том, что он имеет огромное количество различных библиотек с открытым исходным кодом в своем арсенале, которые €вл€ютс€ не только бесплатными, но и достаточно простыми в использовании.

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

—тоит отметить, что, так как Python используетс€ в самых разных отрасл€х, то существуют топ библиотек Python практически дл€ любых целей, которые вы только можете себе представить.


„то следует учитывать при выборе библиотеки Python

“еперь, когда вы знаете, чем вам может помочь библиотека в Python, у вас может возникнуть следующий вопрос: Ђ ак мне выбрать правильную библиотеку?ї Ёто вполне нормальный вопрос Ц в конце концов, на сегодн€шний день доступно более 137 000 библиотек Python. » как тут решить, кака€ из них лучше всего подходит дл€ ваших целей?

ћожет оказатьс€ трудным прин€ть решение, когда вы сталкиваетесь с таким огромным выбором. Ќекоторые даже могут почувствовать себ€ беспомощными, не зна€, что выбрать. ј дл€ некоторых выходом может стать даже то, что они решат просто написать все то, что им нужно, с нул€. ƒелать это, конечно же, не нужно.

¬от некоторые вещи, которые следует учитывать при выборе лучших библиотек Python:

  •  акова ваша предполагаема€ цель? ѕонимание основной цели вашего проекта необходимо дл€ того, чтобы помочь сузить круг подход€щих библиотек Python. ƒл€ того, чтобы еще сократить список потенциальных кандидатов, рассмотрите любые второстепенный области, цели и особенности, которые так или иначе могут быть св€заны с основной целью. Ќапример, если ваш проект ориентирован на науку о данных, то вам может понадобитьс€ библиотека, котора€ сможет поддерживать управление данными и их визуализацию.
  •  акую версию Python вы используете? ≈сть множество различных версий Python, которые вы можете использовать дл€ своих проектов.  огда вы выбрали определенную версию дл€ своего приложени€, вы должны убедитьс€, что все библиотеки, которые вы используете, совместимы с этой версией.
  • Ѕудет ли эта библиотека работать совместно с другими библиотеками, которые вы используете? ≈сли вы используете несколько библиотек, то рекомендуетс€ убедитьс€, что они могут работать вместе. ≈сли вдруг вы используете несовместимые или пересекающиес€ библиотеки, то они могут доставить вам больше вреда, чем пользы.
  • —оответствует ли библиотека вашему бюджету? ≈сть огромное количество библиотек Python с открытым исходным кодом, которые вы можете использовать совершенно бесплатно. ≈сли вы найдете среди них те, которые идеально подход€т дл€ вашего проекта, то вам, возможно, и не придетс€ покупать какие-либо еще библиотеки. ќднако все же есть библиотеки, за доступ к которым вам нужно будет заплатить.

“оп библиотек Python


1. Requests

Requests

ќсновное назначение: упрощение HTTP-запросов

ќдна из самых попул€рных общедоступных библиотек Python Ц это Requests. ≈е цель Ц сделать HTTP-запросы более простыми и удобными дл€ воспри€ти€. Ѕиблиотека Requests имеет лицензию Apache2 и написана на Python. ќна €вл€етс€ фактическим стандартом, который используют разработчики дл€ выполнени€ HTTP-запросов в Python.

ѕомимо того, что библиотека Requests может использоватьс€ дл€ отправки HTTP-запросов на сервер, она также позвол€ет добавл€ть в них данные формы, содержимое, заголовок, файлы, состо€щие из нескольких частей, и т.д. — этой библиотекой разработчикам не нужно добавл€ть запрос к URL-адресу или кодировать данные POST вручную.

Ѕиблиотека Requests абстрагируетс€ от многочисленных сложностей создани€ HTTP-запросов в простом API, поэтому разработчики могут больше сосредоточитс€ на взаимодействии со службами. Ѕиблиотека поддерживает Python 2.7, 3.4 и выше, а также отлично работает с PyPy.

ќсновные моменты:

  • –азрешает загрузку нескольких файлов и потоковую загрузку
  • јвтоматическа€ расшифровка содержимого и автоматическое развертывание
  • ѕроверка SSL в браузере
  • ‘ункции могут быть настроены и оптимизированы в соответствии с требовани€ми
  • ѕосто€нное соединение и объединенное подключение
  • ѕоддерживает международные домены и URL-адреса

2. Pillow

Pillow

ќсновное назначение: обработка изображений

ƒополнительные назначени€: архивирование изображений, отображение изображений

Python Imaging Library, или PIL Ц это бесплатна€ библиотека Python, котора€ позвол€ет интерпретатору Python обрабатывать изображени€. »ными словами, PIL дает возможность обрабатывать, открывать и сохран€ть различные форматы изображений в Python. Pillow была создана јлексом  ларком и его соавторами, и она €вл€етс€ ответвлением библиотеки PIL.

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

ќсновные моменты:

  • ѕоддержка отладки с помощью метода show()
  • »деально подходит дл€ приложений пакетной обработки данных
  • –аспознает и читает большое количество различных форматов файлов изображений
  • ѕредлагает интерфейсы BitmapImage, PhotoImage и Window DIB
  • ѕоддерживает произвольные аффинные преобразовани€, преобразовани€ пространства цветов, фильтрацию с помощью набора встроенных €дер свертки, изменение размера и поворот изображени€, а также поточечные операции
  • √истограммы позвол€ют извлечь некоторую статистику из изображени€, а также могут использоватьс€ дл€ автоматического повышени€ контрастности и глобального статистического анализа

3. Scrapy

Scrapy

ќсновное назначение: веб-скрейпинг

ƒополнительные назначени€: автоматизированное тестирование, интеллектуальных анализ данных, сканирование веб-страниц (веб-краулинг)

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

»значально Scrapy был разработан именно дл€ веб-скрейпинга, а позже был доработан дл€ выполнени€ других задач. Ѕиблиотека предлагает быстрый и высокоуровневый метод сбора данных с веб-сайтов и извлечени€ структурированных данных с веб-страниц.

Scrapy написан на Python и построен на основе Ђпауковї, или автономных поисковых роботов, которым предоставл€етс€ набор инструкций. Scrapy соблюдает принцип DRY (donТt repeat yourself Ц не повтор€йс€) и тем самым упрощает создание и масштабирование готовых проектов веб-сканировани€.

ќсновные моменты:

  • Ђѕаукаї дл€ обхода веб-сайта и извлечени€ данных легко написать
  • —ледует принципу DRY
  • ѕредлагает оболочку дл€ сбора данных, котора€ позвол€ет разработчикам тестировать поведение веб-сайта
  • ѕоддерживает экспорт собранных данных с помощью командной строки

4. Asyncio

Asyncio

ќсновное назначение: работа с асинхронным кодом

–азработчики Python по всему миру используют библиотеку asyncio дл€ написани€ параллельного кода с помощью синтаксиса async/await. Ѕиблиотека asyncio больше всего подходит дл€ кода, который св€зан с вводом-выводом, а также дл€ высокоуровневого структурированного сетевого кода.

Asyncio используетс€ дл€ создани€ различных асинхронных фреймворков Python, которые предлагают библиотеки подключени€ к базам данных, распределенные очереди задач, высокопроизводительные сетевые и веб-серверы и многое другое. ¬ библиотеку встроен р€д высокоуровневых и низкоуровневых API.

ќсновные моменты:

  • ѕозвол€ет контролировать подпроцессы, распредел€ть задачи по очеред€м, выполн€ть сетевой ввод-вывод и межпроцессное взаимодействие, а также синхронизировать параллельный код.
  • ќбъединение библиотек и кода на основе обратных вызовов с помощью синтаксиса async/await и низкоуровневых API.
  • ¬ключает в себ€ набор высокоуровневых API дл€ одновременного запуска сопрограмм Python и полного контрол€ над их выполнением.
  • ”прощает работу с асинхронным кодом.
  • ѕоддерживает создание циклов событий и управление ими, реализу€ эффективные протоколы передачи данных.

5. Tkinter

Tkinter

ќсновное назначение: разработка графического интерфейса

Tkinter позвол€ет просто и быстро создавать приложени€ с графическим интерфейсом. Tkinter Ц это стандартна€ библиотека графического интерфейса дл€ €зыка программировани€ Python. ќна предлагает мощный объектно-ориентированный интерфейс дл€ инструментари€ графического интерфейса "Tk".

ѕроцесс создани€ приложени€ с графическим интерфейсом с помощью Tkinter очень прост. ¬се, что от вас требуетс€, это выполнить следующие простые шаги:

  • »мпортировать Tkinter
  • —оздать главное окно дл€ разрабатываемого приложени€ с графическим интерфейсом
  • ƒобавить один или несколько графических элементов Tkinter
  • ¬ойти в основной цикл обработки событий, чтобы выполнить действий по каждому событию, инициированному пользователем

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

ќсновные моменты:

  • ¬ключает в себ€ набор графических элементов, которые поддерживают методы управлени€ геометрией
  • ”прощает разработку приложений с графическим интерфейсом
  • ѕоддерживает эффективный объектно-ориентированный интерфейс

6. Six

Six

ќсновное назначение: библиотека совместимости (сглаживание различий между Python 2 и Python 3)

Ќесмотр€ на незамысловатость названи€, Six Ц это мощна€ библиотека Python, котора€ предназначена дл€ сглаживани€ различий между двум€ верси€ми Python: 2 и 3. Ѕиблиотека Six поддерживает кодовые базы, которые могут работать как на Python 2, так и на Python 3 без внесени€ каких-либо изменений.

Ѕиблиотека Six очень проста в использовании, поскольку представл€ет собой всего один файл Python. ѕоэтому скопировать библиотеку в проект Python до смешного просто. Ќазвание Six отражает следующее: (Python) 2 умножить на (Python) 3.

ќсновные моменты:

  • ѕростые служебные функции дл€ обеспечени€ совместимости кода Python с Python 2 и Python 3.
  • ѕоддерживает все версии, начина€ с Python 2.6.
  • ќчень проста в использовании, так как содержитс€ в одном файле Python.

7. aiohttp

aiohttp

ќсновное назначение: служит асинхронным HTTP-клиентом/сервером

Ѕиблиотека aiohttp Ц это еще одна проста€, но при этом широко используема€ библиотека Python. ѕо сути, это асинхронный HTTP-клиент или сервер в Python. Ёта библиотека выполн€ет только эту функцию и поддерживает клиентские и серверные веб-сокеты.

ќсновные моменты:

  • ѕредлагает веб-сервер с промежуточным ѕќ, подключаемой маршрутизацией и сигналами.
  • ќбеспечивает поддержку клиентских и серверных веб-сокетов
  • ѕоддерживает HTTP-клиента и сервер

8. Pygame

Pygame

ќсновное назначение: разработка 2D-игр

ƒополнительное назначение: разработка мультимедийных приложений

Pygame Ц это бесплатна€ библиотека Python с открытым исходным кодом. ќна предназначена дл€ разработки мультимедийных приложений на Python, в частности, двумерных игр. » как результат, она попул€рна среди как обычных, так и профессиональных разработчиков игр на Python.

«а кадром Pygame использует библиотеку SDL (Simple DirectMedia Layer).  ак и SDL, библиотека Pygame отличаетс€ высокой переносимостью, а значит, обеспечивает поддержку большого количества платформ и операционных систем.

ѕриложени€, которые были разработаны с помощью Pygame можно портировать на Android-устройства, такие как смартфоны и планшеты. ƒл€ этого необходимо использовать pgs4a (верси€ Pygame дл€ Android).

ќсновные моменты:

  • Ќе требует OpenGL
  • ”прощает использование много€дерных процессоров
  • ƒл€ использовани€ всех доступных функций графический интерфейс не нужен
  • ќбеспечивает поддержку большого количества платформ и операционных систем
  • ѕроста€ и удобна€ в использовании
  • »спользует код ассемблера и оптимизированный код — дл€ реализации основных функций

9. Kivy

Kivy

ќсновное назначение: разработка приложений (с инновационными пользовательскими интерфейсами)

ѕри создании мобильных приложений и программного обеспечени€ мультитач-приложений с NUI (Natural User Interface Ц естественный пользовательский интерфейс) разработчики Python опираютс€ на библиотеку Kivy. Kivy Ц это бесплатна€ библиотека Python с открытым исходным кодом. ќна распростран€етс€ по лицензии MIT (лицензии свободного ѕќ, разработанной ћассачусетским технологическим институтом) и работает на Android, iOS, Linux, macOS и Windows.

Ќа самом деле Kivy Ц это эволюционировавший проект PyMT. Ёта библиотека содержит все элементы, которые необходимы дл€ создани€ интуитивно пон€тного мультитач-приложени€, а именно графическую библиотеку, большой набор графических элементов с поддержкой мультитач, промежуточный €зык (Kv) и всестороннюю поддержку ввода.

Kv, или €зык Kivy, - это промежуточный €зык, который предназначен дл€ описани€ действий со стороны пользовател€ и интерфейса. Ёто позвол€ет легко создавать пользовательские интерфейсы и добавл€ть к ним способы взаимодействи€. Kivy также обеспечивает поддержку Raspberry Pi.

ќсновные моменты:

  • ¬озможность по умолчанию использовать большинство устройств, входов и протоколов
  •  россплатформенность
  • ѕредлагает более 20 графических элементов с возможностью изменени€ их размеров
  • ѕоддержка графического механизма, созданного на базе OpenGL ES 2.

10. Bokeh

Bokeh

ќсновное назначение: разработка приложений, основанных на визуализации

ƒополнительное назначение: визуализаци€ данных, наука о данных

Bokeh Ц это интерактивна€ библиотека визуализации дл€ €зыка программировани€ Python. ќна позвол€ет красиво и пон€тно визуализировать данные в современных веб-браузерах. Ѕиблиотека визуализации данных упрощает создание информационных панелей, приложений данных и интерактивных графиков.

ѕомимо лаконичного и из€щного построени€ разнообразной графики, библиотека Bokeh также имеет дополнительные возможности благодар€ высокопроизводительной интерактивности при потоковой передаче данных или при очень больших наборах данных.

ќсновные моменты:

  • ѕозвол€ет строить сложные статистические графики с помощью простых команд
  • ¬изуализаци€, полученна€ с помощью Bokeh, может быть легко встроена в две самые попул€рные платформы Python Ц Django и Flask
  • ¬озможность создавать из€щные и интерактивные визуализации данных
  • Ќесколько прив€зок к €зыку (Julia, Lua, Python и R)
  • –азличные форматы вывода

11. NumPy

NumPy

ќсновное назначение: научные и численные вычислени€

ƒополнительные назначени€: анализ данных, формирование основ других библиотек Python, таких как SciPy

NumPy Ц это один из лучших модулей Python с открытым исходным кодом дл€ научных и числовых вычислений и анализа данных. Ѕолее того, эта библиотека €вл€етс€ основой дл€ нескольких других библиотек Python, таких как SciPy и Sci-Kit Learn. NumPy чаще всего используетс€ дл€ математических операций с матрицами и массивами. Ёту библиотеку очень часто используют ученые, которые выполн€ют анализ данных, из-за ее эффективных и быстрых вычислений.

“акже NumPy может обрабатывать многомерные массивы, поэтому большое количество разработчиков и специалистов по обработке данных используют ее дл€ проектов в област€х искусственного интеллекта и машинного обучени€.

ќсновные моменты:

  • ѕовышение эффективность за счет вычислений с массивами
  • »спользует векторизацию дл€ компактных и более быстрых вычислений
  • ѕоддерживает объектно-ориентированный подход
  • ѕредоставл€ет числовые подпрограммы в виде быстрых и предварительно скомпилированных функций

12. SciPy

SciPy

ќсновное назначение: визуализаци€ данных и их обработка

ƒополнительные назначени€: линейна€ алгебра, алгоритмы оптимизации, операции с изображени€ми (многомерными)

јналогично NumPy, SciPy €вл€етс€ бесплатным модулем с открытым исходным кодом, что делает его общедоступным. SciPy основан на NumPy и также может использоватьс€ дл€ технических и научных вычислений с большими наборами данных. Ёта библиотека играет важную роль в техническом и научном анализе данных. »менно поэтому она считаетс€ довольно важной библиотекой в Python. Ќекоторые даже называют ее основополагающей библиотекой дл€ €зыка программировани€ Python.

SciPy хорошо подходит дл€ обработки изображений. ќна имеет высокоуровневые команды, которые можно использовать дл€ обработки данных и их визуализации.

ќсновные моменты:

  • Ќаборы функций и алгоритмов построены на основе NumPy
  • »меет встроенные функции, которые предназначены дл€ решени€ дифференциальных уравнений
  • ≈сть подмодуль SciPy ndimage, предназначенный дл€ обработки изображений (многомерных)

13. Sci-Kit Learn

Sci-Kit Learn

ќсновное назначение: приложени€ машинного обучени€

ƒополнительное назначение: статистическое моделирование

Sci-Kit Learn основан на Numpy и SciPy и прежде был известен как Sklearn. Ёто бесплатна€ библиотека Python, и она очень часто воспринимаетс€ как расширение библиотеки SciPy. Sci-Kit Learn была создана специально с целью разработки алгоритмов машинного обучени€ и моделировани€ данных.

ƒл€ многих Sci-Kit Learn Ц это одна из лучших библиотек Python, а все из-за ее последовательного, простого и интуитивно пон€тного интерфейса. ѕоскольку она очень удобна в использовании, многие считают, что она идеально подходит дл€ новичков.

ќсновные моменты:

  • Ѕиблиотека машинного обучени€
  • ѕредлагает практически все алгоритмы, которые необходимы дл€ машинного обучени€
  • —оздана на основе SciPy, NumPy и Matplotlib

14. Theano

Theano

ќсновное назначение: машинное и глубокое обучение

ƒополнительные назначени€: оценка, анализ и обработка математических выражений

Ѕиблиотека численных вычислений, котора€ известна как Theano, была создана специально дл€ машинного обучени€. ћногие разработчики используют эту библиотеку дл€ моделей глубокого обучени€ из-за ее функций. ѕодавл€ющее большинство пользователей Theano Ц это разработчики глубокого и машинного обучени€.

Theano предлагает возможность интеграции с NumPy при необходимости.  огда Theano используетс€ совместно с графическим процессором (таким как видеокарта) вместо центрального процессора (такого как Intel Core i5 или i7 или AMD Ryzen), то она может выполн€ть вычислени€ в 140 раз быстрее.

ќсновные моменты:

  • »нтегрируетс€ с NumPy
  • –аботает с центральными процессорами, но намного эффективнее работает с графическими процессорами; может выполн€ть вычислени€ намного быстрее, работа€ с графическим процессором
  • ќптимизирована дл€ сохранени€ стабильности и скорости
  • »спользует многомерные массивы дл€ создани€ моделей глубокого обучени€

15. TensorFlow

TensorFlow

ќсновное назначение: глубокое обучение и машинное обучение; большие численные вычислени€

ƒополнительные назначени€: текстовые приложени€, обнаружение видео, распознавание речи/изображений, анализ временных р€дов

TensorFlow Ц это библиотека с открытым исходным кодом, котора€ первоначально была разработана исследовател€ми из Google.

≈е специализаци€ - дифференцируемое программирование, но основна€ цель ее создани€ Ц это машинное и глубокое обучение, а также другие рабочие нагрузки в прогнозной и статистической аналитике.

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

ѕлатформа и архитектура TensorFlow очень гибкие. Ёто позвол€ет использовать библиотеку как с центральными процессорами, так и с графическими. Ќо если вы хотите раскрыть всю мощь TensorFlow, то вам лучше работать с TPU (Tensor processing unit Ц тензорный процессор). Ёта библиотека не ограничиваетс€ настольными устройствами, вы также можете использовать ее на смартфонах и серверах.

ќсновные моменты:

  • „астые обновлени€ и новые выпуски Ц залог того, что у вас будут новые функции и чистый код
  • ѕоддерживаетс€ Google
  • ”лучшенна€ визуализаци€ вычислительных графиков

16. PyTorch

PyTorch

ќсновное назначение: наука о данных

ƒополнительные назначени€: исследовани€ в области глубокого обучени€

PyTorch Ц еще одна библиотека с открытым исходным кодом, которую часто используют дл€ обработки данных. Ёта библиотека основана на Torch (фреймворк дл€ €зыка программировани€ C), и она может интегрироватьс€ с другими библиотеками Python, такими как NumPy. PyTorch способна незаметно дл€ пользовател€ создавать графы вычислений, которые можно мен€ть, пока программа запущена.

PyTorch чаще всего используетс€ в приложени€х машинного и глубокого обучени€, в том числе обработки естественного €зыка и компьютерного зрени€. Ёта библиотека хорошо известна тем, что способна быстро выполн€ть команды даже при больших нагрузках. Ѕиблиотека PyTorch достаточно гибка€, что позвол€ет ей работать на центральных, графических и упрощенных процессорах. ѕользователи могут расшир€ть PyTorch с помощью своих наборов API.

ќсновные моменты:

  • “ензорные вычислени€ с помощью графического процессора дл€ более быстрой и эффективной обработки
  • ѕростой и удобный API
  • »спользует динамические графы вычислений
  • »меет большое сообщество

17. Keras

Keras

ќсновное назначение: машинное и глубокое обучение

ƒополнительное назначение: визуализаци€ данных

Keras Ц это библиотека Python с открытым исходным кодом, котора€ была создана преимущественно дл€ разработки и оценки нейронных сетей в модел€х машинного и глубокого обучени€. Ёта библиотека может работать нар€ду с TensorFlow и Theano, а это значит, что разработчики могут начать обучение своих нейронных сетей с небольшого количества кода.

Keras Ц гибка€, расшир€ема€ и модульна€, поэтому она отлично подходит дл€ новичков. Ёта библиотека также €вл€етс€ переносимой, что означает, что вы можете использовать ее в различных средах как на графических, так и на центральных процессорах.

„асто разработчики используют эту библиотеку дл€ визуализации данных или моделировани€.

ќсновные моменты:

  • ѕоддерживает серверные части Theano и TensorFlow
  • ѕредусматривает предварительно размеченные наборы данных, которые разработчики могут использовать непосредственно дл€ загрузки/импорта
  • ѕредлагает простые и согласующиес€ API
  • ѕроста в освоении и использовании, небольша€ крива€ обучени€

18. Pandas

Pandas

ќсновное назначение: наука о данных

ƒополнительные назначени€: анализ данных и машинное обучение

Pandas Ц это одна из самых попул€рных библиотек Python на сегодн€шний день, как минимум, в области науки о данных. Pandas Ц это еще одна библиотека, созданна€ на основе NumPy. Ёта библиотека позвол€ет пользовател€м создавать комплексные, но интуитивно пон€тные высокоуровневые структуры данных. Pandas используетс€ в различных отрасл€х Ц от статистики до инженерии (и даже в финансовой сфере).

≈сть одна вещь, котора€ делает библиотеку Pandas просто замечательной, - это ее гибкость и возможность использовани€ с другими научными библиотеками и библиотеками численного анализа Python.

ќсновные моменты:

  • »спользуетс€ во многих коммерческих област€х, включа€ финансовую сферу, нейронауки и статистику.
  • »спользуетс€ в научных област€х
  • —оздана на основе NumPy
  • ѕомогает в решении большого количества громоздких и трудоемких задач, св€занных с данными

19. Matplotlib

Matplotlib

ќсновное назначение: визуализаци€ данных

ƒополнительное назначение: машинное обучение

Matplotlib Ц это библиотека Python с открытым исходным кодом, которую часто привод€т в пример, как альтернативу платному MATLAB. Matplotlib Ц это расширение SciPy, и оно было создано дл€ визуализации данных в силу того, того, что она используетс€ дл€ создани€ диаграмм и графиков. Matplotlib может работать со сложными модел€ми данных, которые выводит Pandas, и со структурами данных, которые создает NumPy.

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

Ёта библиотека очень проста в использовании и интуитивно пон€тна, поэтому многие новички предпочитают работать именно с ней, когда только пробуют себ€ в визуализации данных. Matplotlib также выбирает немалое количество разработчиков, которые уже имеют опыт работы с другими инструментами визуализации данных.

ќсновные моменты:

  • ќткрытый исходный код, хороша€ замена MATLAB (платное приложение)
  • ћалое потребление пам€ти
  • ѕоддержка большого сообщества
  • ѕредлагает различные типы визуализации данных (коробчатые диаграммы, точечные диаграммы, гистограммы, диаграммы ошибок и т.д.)

20. Seaborn

Seaborn

ќсновное назначение: визуализаци€ данных

ƒополнительное назначение: машинное обучение

јналогично Matplotlib, Seaborn Ц это библиотека Python, котора€ была создана дл€ построени€ графиков и визуализации данных. ѕо сути, эта библиотека была основана на самой Matplotlib, хот€ она также включает в себ€ некоторые структуры данных Pandas. Seaborn имеет высокоуровневый интерфейс с огромным количеством функций, которые позвол€ют пользовател€м создавать не просто точные, но и информативные статистические графики.

Ѕольшое количество разработчиков и пользователей Seaborn соглас€тс€ с тем фактом, что эта библиотека создает одни из самых красивых визуализаций данных. »менно поэтому она идеально подходит дл€ использовани€ в маркетинговых и издательских приложени€х.

ѕользователи также люб€т Seaborn за ее способность создавать графики и диаграммы с помощью простых команд и минимального количества программного кода, что экономит им врем€.

ќсновные моменты:

  • —оздана на основе Matplotlib
  • ѕозвол€ет разработчикам создавать красивые информативные графики с помощью высокоуровневого интерфейса
  • ѕозвол€ет создавать такие графики, как попарные графики, гистограммы, линейчатые диаграммы, точечные диаграммы и т.д.

21. BeautifulSoup

BeautifulSoup

ќсновное назначение: наука о данных

ƒополнительное(-ые) назначение(-€): веб-скрейпинг

Beautiful Soup получила свое название благодар€ своей способности анализировать документы HTML и XML (даже с некорректной разметкой, которую называют Ђtag soupї - Ђсуп из теговї). Ётот пакет Python обходит веб-сайты, собирает данные и подготавливает их дл€ дальнейшей работы. Beautiful Soup Ц это универсальный пакет, и поэтому его выбирают многие аналитики данных и ученые. –азработчики, занимающиес€ вопросами машинного и глубокого обучени€, также используют Beautiful Soup дл€ получени€ данных дл€ обучени€ своих моделей машинного/глубокого обучени€.

ќсновные моменты:

  • ѕозвол€ет извлекать данные из HTML и XML, даже из документов с некорректной или неполной разметкой (например, с незакрытыми тегами)
  • «адумывалась как средство синтаксического анализа HTML, которое могло бы сделать Ђсуп из теговї работоспособным и даже Ђкрасивымї

22. PyCaret

PyCaret

ќсновное назначение: машинное обучение

PyCaret получила свое название от библиотеки Python, основанной на Caret, - библиотеке машинного обучени€ на €зыке программировани€ R. Ёто библиотека с открытым исходным кодом, и она была создана дл€ машинного обучени€. ќна предлагает функции, которые помогают упростить и автоматизировать программы машинного обучени€.

Ќесмотр€ на наличие небольшой кривой обучени€, PyCaret относительно прост в использовании.

ќсновные моменты:

  • ¬ысокоуровнева€ и малокодова€ библиотека
  • јвтоматизирует рабочие процессы в машинном обучении
  • ѕомогает ускорить циклы экспериментов, повыша€ тем самым производительность
  • ѕозвол€ет разработчикам развертывать модели машинного обучени€ с малым количеством кода

23. OpenCV

OpenCV

ќсновное назначение: компьютерное зрение и обработка изображений

ƒополнительное назначение: машинное обучение

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

ќсновные моменты:

  • ¬ыполн€ет такие задачи, как отслеживание угроз, обнаружение лиц, обнаружение ориентиров и многое другое
  • ѕредоставл€ет разработчикам доступ к более чем 2500 классическим современным алгоритмам
  • Ўироко используетс€ даже такими технологическими гигантами, как Google, IBM, Toyota и другими
  • »спользуетс€ дл€ анализа изображений/видео

24. LightGBM

LightGBM

ќсновное назначение: машинное обучение

LightGBM расшифровываетс€ как Light Gradient Boosting Machine. Ёто бесплатный фреймворк градиентного бустинга, разработанный Microsoft дл€ машинного обучени€. ќн удобен и интуитивно пон€тен. »зучить его намного проще, чем некоторые другие библиотеки дл€ глубокого обучени€.

ќсновные моменты:

  • ќбеспечивает эффективное использование пам€ти и высокую вычислительную мощность
  • ѕервоначально разработан Microsoft
  • ¬озможность работы с большими объемами данных
  • ќбеспечивает высокую точность результатов

¬от и все!

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

≈сли вы изучите хот€ бы одну из этих библиотек, это сможет помочь вам в изучении €зыка, а также стать хорошим разработчиком Python во всех отношени€х.


„асто задаваемые вопросы

1. „то такое библиотеки Python?

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

2.  акие есть примеры библиотек Python?

≈сть большое количество очень попул€рных пакетов и библиотек Python. ≈сли вам нужны примеры таких библиотек, то вот вам несколько громких наименований:

  • Requests
  • Numpy, SciPy, SciKit-Learn
  • PyTorch
  • Pandas
  • Seaborn
  • Theano
  • TensorFlow

3. √де можно найти список всех библиотек Python?

≈сли вы имеете в виду список всех модулей, пакетов и библиотек, установленных сейчас в вашей версии Python, то это можно сделать с помощью команды help(УmodulesФ), pip list или pip freeze

4. ƒл€ чего нужны библиотеки Python?

Ѕиблиотеки Python необходимы дл€ того, чтобы упростить и оптимизировать работу разработчика. ¬место того, чтобы писать какие-то части проекта с нул€, разработчики могут воспользоватьс€ модул€ми и св€зками кода из библиотек. “акже библиотеки могут устанавливать стандарты написани€ программного кода, что упрощает сопровождение кода.

5. ¬се ли библиотеки Python €вл€ютс€ бесплатными?

Ѕольша€ часть крупных библиотек допускают бесплатное коммерческое использование. ќднако не все библиотеки так просты в использовании и освоении. ѕоэтому, даже если библиотека бесплатна€, возможно, вам придетс€ заплатить за какие-либо лицензионные или платные модули, или программное обеспечение, чтобы упростить отладку и сопровождение в долгосрочной перспективе.  роме того, даже если библиотека €вл€етс€ бесплатной дл€ коммерческого использовани€, вам, веро€тно, придетс€ доплатить, если вы хотите включить какие-то модули в свои приложени€, которые в дальнейшем будете распростран€ть среди будущих клиентов.

6.  ак работают библиотеки в Python?

Ѕиблиотеки Python позвол€ют разработчикам использовать модули и св€зки кода в своих проектах многократно. Ѕиблиотеки позвол€ют вам использовать уже готовый код и добавить его к своему вместо того, чтобы каждый раз писать кода с нул€.


—кидки 50% в Merion Academy

¬ыбрать курс