Подборка полезных библиотек для python с примерами #1

6. Просторность

Spacy, вероятно, не так знаменит, как предыдущие. В то время как Numpy и Pandas являются библиотеками, работающими с числовыми и структурированными данными, Spacy помогает нам преобразовывать свободный текст в структурированные данные.

Spacy — одна из самых популярных библиотек NLP (обработка естественного языка) для Python. Представьте себе, что, когда вы удалили множество обзоров продуктов с веб-сайта электронной коммерции, вы должны извлечь полезную информацию из этого свободного текста, прежде чем сможете их проанализировать. Spacy имеет множество встроенных функций, таких как рабочий токенизатор, распознавание именованных объектов и обнаружение части речи.

Кроме того, Spacy поддерживает множество различных человеческих языков. На его официальном сайте заявлено, что он поддерживает более 55.

Визуализация данных

Визуализация данных является абсолютно необходимой потребностью в аналитике данных. Нам нужно визуализировать результаты и результаты и рассказать историю данных, которую мы нашли.

Стилизация print

icecream

Для форматирования вывода существует одна удобная библиотека под названием icecream. Она помогает упростить написание логов или принтов для отладки. Рассмотрим пример её работы:

Чтобы подключить информацию о том, в каком месте программы происходит вывод, необходимо добавить всего лишь один аргумент в конфигурации модуля:

Это помогает более точно понять в каком месте происходит сбой в работе программы:

Также можно поменять префикс, который добавляется в начале строки, по дефолту он задан “ic|”. Удобно добавить время для вывода, чтобы видеть в какой момент времени и сколько занимал переход от одного принта к другому.

Если у вас уже имеются расставленные принты в коде, то легко можно переприсвоить print на ic:

Рассмотрим пример вывода более сложных структур, например, словарей:

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

Также эта библиотека предоставляет возможность стилизовать вывод в зависимости от предоставляемых данных. Например, если есть необходимость дополнительно оформлять текст ошибки (Exception) или есть желание дополнительно выводить тип данных:

colorama

Еще одна полезная библиотека — colorama, она позволит раскрашивать текст в консоли. Её удобно использовать совместно с библиотекой icecream. Рассмотрим пару примеров:

16.2 Вещи, которые Distutils не может сделать за вас

Релиз вашего первого пакета Python – сложный процесс (релиз второго немного проще). Distutils пытается максимально автоматизировать его, но есть некоторые вещи, которые вы просто должны сделать сами.

  • Выбрать лицензию. Это сложная тема, связанная с политикой и опасностями. Если вы хотите выпустить свое программное обеспечение с открытым исходным кодом, я скромно предлагаю пять советов:

    1. Не пишите свою собственную лицензию.
    2. Не пишите свою собственную лицензию.
    3. Не пишите свою собственную лицензию.
    4. Это не обязательно должен быть GPL, но она должна быть GPL-совместимой.
    5. Не пишите свою собственную лицензию.
  • Классифицировать свое программное обеспечение, используя систему классификации PyPI. Я объясню, что это значит позже в этой главе.
  • Написать файл «прочти меня» (read me). Не экономьте на этом. Как минимум, он должен дать вашим пользователям обзор того, что делает ваше программное обеспечение и как его установить.

FAQ

What’s a Python library?

A Python library is a collection of sources of information, where you can retrieve modules that you will apply during your coding process. Python is a very versatile language and its libraries have loads and loads of data — it might be challenging to explore them if you don’t have background knowledge.

What is the definition of Python?

Python is a high-level, general-purpose programming language. It produces a clear and more logical code for small and large-scale projects. Python is very easy to read and, as an interpreted language, it does not transform code to become computer-readable.

How do you choose which online course sites to review?

We pick online learning platforms according to their market size, popularity, and, most importantly, our users’ request or general interest to read genuine MOOC reviews about certain online learning platforms.

How much research do you do before writing your e-learning reviews?

Our dedicated MOOC experts carry out research for weeks – only then can they say their evaluations for different aspects are final and complete. Even though it takes a lot of time, this is the only way we can guarantee that all the essential features of online learning platforms are tried and tested, and the verdict is based on real data.

Which aspect is the most important when choosing the best online learning platforms?

It wouldn’t be right to pick just one aspect out of the selection: priorities depend on each individual person, their values, wishes, and goals. A feature that’s important to one person can be utterly irrelevant to the other. Anyhow, all users would agree that good quality of the learning material is a must for online learning platforms.

How is this e-learning review platform different from others?

Every MOOC-reviewing platform is unique and has its own goals and values. Our e-learning reviews are 100% genuine and written after performing a careful analysis. That is the goal that a lot of e-learning review sites lack, so we consider it to be our superpower!

Dear PyGui

Although, as we’ve seen, terminal applications can be beautiful, sometimes it’s not enough and you need a real GUI. For this comes Dear PyGui, the Python port of the popular Dear ImGui C++ project.

Dear PyGui utilizes what’s called the immediate mode paradigm, popularized in video games. This basically means the dynamic GUI is drawn frame by frame independently, without the need to persist any data. This makes this tool fundamentally different than other Python GUI frameworks. It’s highly performant, and uses your computer’s GPU to facilitate the construction of highly dynamic interfaces, as is often needed in engineering, simulations, games or data science applications.

Dear PyGui can be used without a steep learning curve, and runs on Windows 10 (DirectX 11), Linux (OpenGL 3) and MacOS (Metal).

Синтаксис

Во первых стоит отметить интересную особенность Python. Он не содержит операторных скобок (begin..end в pascal или {..}в Си), вместо этого блоки выделяются отступами: пробелами или табуляцией, а вход в блок из операторов осуществляется двоеточием. Однострочные комментарии начинаются со знака фунта «#», многострочные — начинаются и заканчиваются тремя двойными кавычками «»»»».
Чтобы присвоить значение пременной используется знак «=», а для сравнения —
«==». Для увеличения значения переменной, или добавления к строке используется оператор «+=», а для уменьшения — «-=». Все эти операции могут взаимодействовать с большинством типов, в том числе со строками. Например

16.6 Указание дополнительных файлов с помощью манифеста

По умолчанию Distutils будет включать в ваш пакет следующие файлы:

  • README.txt
  • setup.py
  • Файлы .py, необходимые для многофайловых модулей, перечисленных в параметре
  • Отдельные .py файлы, перечисленные в параметре

Это охватывает . Но для проекта мы также хотим включить файл лицензии COPYING.txt и весь каталог docs/, содержащий изображения и HTML файлы. Чтобы указать Distutils, чтобы он при сборке пакета включил эти дополнительные файлы и каталоги, вам понадобится файл манифеста.

Файл манифеста – это текстовый файл с именем MANIFEST.in. Поместите его в корневой каталог проекта, рядом с README.txt и setup.py. Файлы манифеста – это не скрипты Python; это текстовые файлы, которые содержат серию «команд» в формате, определенном Distutils. Команды манифеста позволяют включать или исключать определенные файлы и каталоги.

Это весь файл манифеста для проекта :

  1. Строка 1. Первая строка не требует пояснений: включить файл COPYING.txt из корневого каталога проекта.
  2. Строка 2. Вторая строка немного сложнее. Команда принимает имя каталога и одно или несколько имен файлов. Имена файлов не ограничены конкретными файлами; они могут включать подстановочные знаки. Эта строка означает «Видите этот каталог docs/ в корневом каталоге проекта? Ищите там (рекурсивно) файлы .html, .css, .png и .gif. Я хочу, чтобы все они были в релизе моего пакета.»

Все команды манифеста сохраняют структуру каталогов, заданную вами в каталоге вашего проекта. Эта команда не собирается помещать кучу файлов .html и .png в корневой каталог выпускаемого пакета. Она сохранит существующую структуру каталога docs/, но включая в себя только те файлы в этом каталоге, которые соответствуют заданным подстановочным символам. (Я не упоминал об этом ранее, но документация на самом деле написана в формате XML и преобразована в HTML отдельным скриптом. Я не хочу включать файлы XML в релиз пакета, мне нужны только HTML и изображения.)

Файлы манифеста имеют свой уникальный формат. Для получения подробной информации смотрите и .

Повторим: вам нужно создавать файл манифеста, только если вы хотите включить файлы, которые Distutils не включает по умолчанию. Если вам нужен файл манифеста, он должен включать только те файлы и каталоги, которые Distutils не смог бы найти самостоятельно.

Important Python Libraries for Data Science

Contributed by: Shveta RajpalLinkedIn Profile: https://www.linkedin.com/in/shveta-rajpal-0030b59b/

Here’s a list of interesting and important Python Libraries that will be helpful for all Data Scientists out there. So, let’s start with 20 most important libraries used in Python-

Scrapy- It is a collaborative framework for extracting the data that is required from websites. It is a quite simple and fast tool.

BeautifulSoup- This is another popular library that is used in Python for extracting or collecting information from websites i.e. it is used for web-scraping.

StatsModels- As the name suggests, Statsmodels is a Python library that provides many opportunities, such as statistical model analysis and estimation, performing statistical tests, etc. It has a function for statistical analysis to achieve high-performance outcomes while processing large statistical data sets.

XGBoost- This library is implemented in machine learning algorithms under the Gradient Boosting framework. It provides high-performance implementation of gradient boosted decision trees. XGBoost is portable, flexible, and efficient. It provides highly optimised, scalable and fast implementations of gradient boosting.

Plotly-This library is used for plotting graphs easily. This works very well in interactive web applications. With this, we can make different types of basic charts like line, pie, scatter, heat maps, polar plots and so on. Whatever visualisation we can think of, we can easily plot a graph of it using Plotly.

Pydot- Pydot is used for generating complex oriented and non-oriented graphs. It is specially used while developing algorithms based on neural networks and decision trees.

Gensim– It is a Python library for topic modelling, document indexing, which means it is able to extract the underlying topics from a large volume of text. It can handle large text files without loading the entire file in memory.

PyOD- As the name suggests, it is a Python toolkit for detecting outliers in multivariate data. It provides access to a wide range of outlier detection algorithms. Outlier detection, also known as anomaly detection, refers to the identification of rare items, events or observations which differ from the general distribution of a population.

Other libraries that are popular in Data Science domain are:

  • Numpy
  • Scipy
  • Pandas
  • Matplotlib
  • Seaborn
  • Bokeh
  • Scikit-Learn
  • Tensorflow
  • Keras
  • Pytorch
  • Theano
  • NLTK

This brings us to the end of the blog on the top Python Libraries. We hope that you benefit from the same. If you have any further queries, feel free to leave them in the comments below and we’ll get back to you at the earliest.

Pillow

Основное применение: манипулирование изображениями

Второстепенное применение: архивирование и  отображение изображений

Pillow или PIL — это бесплатная библиотека, которая добавляет интерпретатору Python возможность для обработки, манипулировании раздичными форматами изображений.

По сути, Pillow — это фактически ответвление библиотеки PIL. Сначала Библиотека была основана в первую очередь на структуре кода PIL. Однако позже это превратилось во что-то более дружелюбное и лучшее. Многие считают, что Pillow на самом деле является современной версией PIL.

Библиотека Pillow умеет накладывать водяной знак, склеивать изображения, генерировать GIF, создавать превью изображений, а также множество действий с размером и форматом изображений.

Одним словом, это мастхев для тех, кто работает с изображениями на python.

Анализ документов HTML и XML

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

print(root.tag)

Вывод:

html 

Теперь, чтобы перебрать все дочерние элементы в корневом узле и распечатать их теги:

for e in root:
    print(e.tag)

Вывод:

head
title
body

in_place

github: 20

Бывают моменты, когда необходимо считать данные с файла, изменить их и перезаписать в тот же файл. В такие моменты приходится либо хранить данные в буфере в оперативной памяти, либо создавать новый файл и работать сразу с 2мя файлами. Модуль in_place берет на себя работу с временными файлами, благодаря чему новый файл будет носить такое же название. Для начала работы достаточно установить модуль:

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

Исходный файл с грязным текстомИсходный файл с очищенным текстом

При таком подходе исходный файл удалится, но если в примере выше заменить строку на , то исходный файл сохранится с названием tmp_old.txt

Пример с сохранением бэкапа исходного файла

Также класс InPlace может принимать еще несколько модификаторов:

  • mode=<‘b’|’t’|None> — тип файла, ‘b’ — бинарный, ‘t’/None — текстовый

  • backup=<PATH> — путь к оригиналу файла

  • backup_ext=<EXTENSION> — создаст бэкап с именем файла + backup_ext

  • move_first=<BOOL> — меняет поведение при создании временных файлов

Mastering GUI Programming with Python

Скачать

Алан Мур — аналитик данных и разработчик ПО, работающий на Python с 2006 года. Свои приложения он создает при помощи Django, Flask, Qt и Tkinter. Помимо этой книги, он написал также «Python GUI Programming with Tkinter».

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

Но по PyQt просто удивительно мало обучающих ресурсов. Людям приходится пользоваться устаревшими книгами, документацией C++, искать информацию в блогах и постах на Stack Overflow. Эта книга призвана восполнить пробел и послужить современным пособием по PyQt для Python-разработчиков.

В своей первой книге — «Python GUI Programming with Tkinter» — Алан Мур разбирал основы создания графических интерфейсов. В этой же он решил сосредоточиться на тех уникальных возможностях, которые предоставляет именно PyQt: мультимедиа, анимация, 3D-графика, сети, многопоточность.

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

Базы данных

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

MySQLdb. Python DB API-2.0-совместимый интерфейс для доступа к базам данных MySQL.

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

Gadfly. Простая реляционная СУБД, реализованная на Python (на основе SQL).

SQLAlchemy. Библиотека Python для работы с базами данных с применением ORM. Позволяет разработчикам приложений использовать всю мощь и гибкость SQL.

KinterbasDB. Расширение Python, реализующее поддержку совместимости Python Database API 2.0 для опенсорсной реляционной базы данных Firebird и некоторых версий ее проприетарной кузины — Borland Interbase.

Разбор XML из строки

Двигаясь дальше, если у нас есть файл XML или HTML, и мы хотим проанализировать необработанную строку, чтобы получить или обработать требуемую информацию, мы можем сделать это, следуя приведенному ниже примеру:

root = et.XML('<html version="5.0">This is an HTML file<head>This is the head of that file</head><title bgcolor="red" fontsize="22">This is the title of that file</title><body fontsize="15">This is the body of that file and would contain paragraphs etc</body></html>')
root.text = "The title text has changed!"
print(et.tostring(root, xml_declaration=True).decode('utf-8'))

Вывод:

<?xml version='1.0' encoding='ASCII'?>
<html version="5.0">This is an HTML file<head>This is the head of that file</head><title bgcolor="red" fontsize="22">The title text has changed!</title><body fontsize="15">This is the body of that file and would contain paragraphs etc</body></html>

Как видите, мы успешно изменили текст в HTML-документе. Объявление XML doctype также было автоматически добавлено из-за параметра xml_declaration, который мы передали функции tostring.

Работа с polynomial

В SciPy есть два способа работы с polynomial. Первый использует класс poly1d. Этот класс принимает коэффициенты или корни для инициализации и формирует полиномиальный объект. Когда мы печатаем этот объект, мы видим, что он напечатан, как polynomial. Давайте посмотрим на пример кода:

from numpy import poly1d

# We'll use some functions from numpy remember!!
# Creating a simple polynomial object using coefficients
somePolynomial = poly1d()

# Printing the result
# Notice how easy it is to read the polynomial this way
print(somePolynomial)

# Let's perform some manipulations
print("\nSquaring the polynomial: \n")
print(somePolynomial* somePolynomial)

#How about integration, we just have to call a function
# We just have to pass a constant say 3
print("\nIntegrating the polynomial: \n")
print(somePolynomial.integ(k=3))

#We can also find derivatives in similar way
print("\nFinding derivative of the polynomial: \n")
print(somePolynomial.deriv())

# We can also solve the polynomial for some value, 
# let's try to solve it for 2
print("\nSolving the polynomial for 2: \n")
print(somePolynomial(2))

Другой способ работы с polynomial – использовать массив коэффициентов. Существуют функции, доступные для выполнения операций с polynomial, представленными в виде последовательностей, первый метод выглядит намного проще в использовании и дает вывод в удобочитаемой форме, поэтому я предпочитаю первый для примера.

Разработка игр

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

Pygame. Набор модулей для написания видеоигр. Pygame расширяет функционал прекрасной библиотеки SDL. Благодаря ему на Python можно создавать полнофункциональные игры и мультимедиа-программы.

Pyglet. Мощная, но при этом простая в использовании библиотека Python для разработки игр и других приложений с большим количеством визуальных эффектов для Windows, Mac OS X и Linux.

pyOpenGL. Этот модуль чаще других используется для обеспечения работы с библиотекой OpenGL и связанными с нею API в программах на Python.

15. Flask

Flask — это облегченная среда веб-разработки на Python. Наиболее ценной особенностью является то, что он может быть легко настроен с любыми конкретными требованиями очень легко и гибко.

Многие другие известные библиотеки и инструменты Python, которые предоставляют веб-интерфейс, созданы с использованием Flask, например, Plotly Dash и Airflow, благодаря облегченной функции Flask.

Вывод

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

5
1
голос

Рейтинг статьи

USB и последовательные порты

Знаете ли вы, что при помощи Python можно
получить доступ к USB и последовательным
портам компьютера? Если вам нужно решить
подобную задачу, следующие модули
помогут вам в этом.

PyUSB. Это простой в использовании модуль для доступа к USB-устройствам. PyUSB опирается на нативную системную библиотеку для USB-доступа. Работает «из коробки» с libusb 0.1, libusb 1.0, libusbx, libusb-win32 и OpenUSB, а также с Python в любой версии, начиная с 2.4 (и включая Python 3).

PySerial. Библиотека Python для доступа к последовательным портам.

USPP. Мультиплатформенный модуль Python для доступа к последовательным портам.

ID3 Handling

  • Mutagen — Mutagen is a Python module to handle audio metadata. It supports FLAC, M4A, Musepack, MP3, Ogg FLAC, Ogg Speex, Ogg Theora, Ogg Vorbis, True Audio, and WavPack audio files. All versions of ID3v2 are supported, and all standard ID3v2.4 frames are parsed. It can read Xing headers to accurately calculate the bitrate and length of MP3s. ID3 and APEv2 tags can be edited regardless of audio format. It can also manipulate Ogg streams on an individual packet/page level. It only writes ID3v2.4 (introduced in 2000, but as of Windows 8 still not supported by MediaPlayer).

  • ID3Reader — «Id3reader.py is a Python module that reads ID3 metadata tags in MP3 files. It can read ID3v1, ID3v2.2, ID3v2.3, or ID3v2.4 tags. It does not write tags at all» (from site). Used in ID3Writer. Does not work with Python 3000. Not maintained since 2006.

  • PyID3 — «»(Appears to be inactive)»»Module for manipulating ID3 informational tags in MP3 audio files. Not as good as ID3Writer, but no issues w/ genre, unlike ID3Writer. Not maintained since 2007.

  • pytagger — tag reader and writer implemented purely in Python. Supports ID3v1, ID3v1.1, ID3v2.2, ID3v2.3 and ID3v2.4

  • eyeD3 — is a Python module and program for processing ID3 tags. It can extract information such as bit rate, sample frequency, play time, etc. It supports ID3 v1.0/v1.1 and v2.3/v2.4.

  • — Py3k — hsaudiotag is a pure Python library that lets you read metadata (bitrate, sample rate, duration and tags) from mp3, mp4, wma, ogg, flac and aiff files. It can only read tags, not write to them, but unlike more complete libraries (like Mutagen), it is BSD licensed.

  • pytaglib — Python 3.x and 2.x support — bindings to the C++ taglib library, reads and writes mp3, ogg, flac, mpc, speex, opus, WavPack, TrueAudio, wav, aiff, mp4 and asf files.

13. OpenCV

OpenCV — наиболее широко используемая библиотека для распознавания изображений и видео. Не будет преувеличением сказать, что OpenCV позволяет Python заменить Matlab с точки зрения распознавания изображений и видео.

Он предоставляет различные API и поддерживает не только Python, но также Java и Matlab, а также выдающуюся производительность, которая заслуживает высокой оценки как в отрасли, так и в научных исследованиях.

Web

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

Top 5 Best Python Plotting and Graph Libraries

Here is a quick list of few Python plotting and graph libraries that we will discuss:

  1. Matplotlib: Plots graphs easily on all applications using its API.
  2. Seaborn: Versatile library based on matplotlib that allows comparison between multiple variables.
  3. ggplot: Produces domain-specific visualizations
  4. Bokeh: Preferred libraries for real-time streaming and data.
  5. Plotly: Allows very interactive graphs with the help of JS.

1. Matplotlib

Matplotlib

Matplotlib is a plotting library for python. It provides an object-oriented API that allows us to plot the graphs in the application itself. It is free and open-source. Supports dozens of output types ad back-end.

Matplotlib allows the use of pandas as wrappers around its API. This library has a better run time and occupies a small memory space.

Benefits of using Matplotlib

  • Understanding the correlation between the variables
  • Communicates the model’s fitting of the data
  • Scatter plots can be used for outlier detection

2. Seaborn

Seaborn

Seaborn is a data visualization library available in python, based on matplotlib. Seaborn has an API that is based on datasets that allow comparison between multiple variables.

It supports multi-plot grids that in turn ease the building of complex visualization. It has univariate and bivariate visualizations available to compare between subsets of data.

It makes use of different color palettes to reveal different kinds of patterns. It also estimates linear regression models automatically.

Seaborn vs Matplotlib

Matplotlib tries to make easy things easy and hard things possible, seaborn tries to define a well-defined set of hard things easy too. Factually matplotlib is good, but seaborn is better. Matplotlib leaves plots that are less attractive, but seaborn has high-level interfaces and customized themes to solve this issue.

When working with pandas, matplotlib does not serve well when dealing with data frames. Whereas seaborn functions work on data frames.

3. ggplot

Ggplot

Originally implemented in R, ggplot is one of the versatile libraries for plotting graphs in python. It is a Domain-Specific language for producing domain-specific visualizations, particularly for data analysis.

Ggplot allows the graph to be plotted in a simple manner using just 2 lines of code. However, the same code written using matplotlib is very complex and involves many lines of code. Hence, ggplot simplifies coding a graph. It is an extremely valuable library of python.

It is necessary to use pandas to achieve all the features of ggplot.

4. Bokeh

Bokeh

Bokeh, a library similar to ggplot, is based on The Grammar of Graphics. However, it is a library native to python and has not been imported from R. Creates interactive web-ready plots that can be outputted in various formats such as – HTML documents and JSON objects.

Bokeh has been one of the most preferred libraries for real-time streaming and data.

Bokeh is available in three levels to the users namely – High Level, Middle Level and Low Level. The high level users can create histograms and bar charts easily and quickly. The middle level users can use the matplotlib framework to create dots for scatter plots.

5. Plotly

Plotly

Plotly is an online visualization platform with library support. Here, we can build interactive plots just like Bokeh, however with additional graphs such as contour plots, 3D charts, and dendrograms. Plotly also recognizes mouse-over and cursor-click events, thus making Plotly a unique library with both graphics and JavaScript.

Bokeh and Plotly are similar libraries however, with Plotly you will have to convert data into dictionaries. However, plotly is easier when it comes to handling data frames using Pandas.