Python, as a well-designed programming language, has been widely used in a variety of fields, with many powerful third-party class libraries, making it easier and faster for us to work and learn. Here’s a look at some of them.

Numerical calculation

NumPy

Supports multidimensional array and matrix operations, also provides a large number of mathematical functions for array operations. Commonly used with SciPy and Matplotlib, it supports a greater variety of numeric types than Python. The most important object defined is an N-dimensional array type called Ndarray, which describes a collection of elements of the same type that can be accessed using a zero-based index.

SciPy

On the basis of NumPy library, many library functions commonly used in mathematics, science and engineering calculation are added, such as linear algebra, ordinary differential equation numerical solution, signal processing, image processing, sparse matrix, etc., which can be interpolation processing, signal filtering, and the use of C language accelerated calculation.

Pandas

A numpy-based tool designed for data analysis tasks. A large number of libraries and some standard data models are included to provide the tools needed for efficient operation of large data sets and a large number of functions and methods for fast and convenient data processing. It provides a good support for Time Series analysis and provides a variety of data structures, such as Series, time-series, DataFrame and Panel.

Data visualization

Matplotlib

The first Python visual library, on which many other libraries are built or called, is a very easy way to get an overview of your data. It’s very powerful, but also very complex.

Seaborn

Use Matplotlib to create beautiful diagrams with simple code. The biggest difference with Matplotlib is that the default drawing style and color collocation are modern aesthetic.

ggplot

Ggplot2, a library based on R, also uses concepts from TheGrammarofGraphics to allow stacking different layers to complete an image. It is not suitable for making very personalized images, sacrificing image complexity for simplicity.

Bokeh

Like GGPlot, Bokeh is based on the concept of Graph Syntax. It differs from ggplot in that it is entirely Python based and not referenced from R. The advantage is that it can be used to create interactive diagrams that can be used directly on the web. Diagrams can be output as JSON objects, HTML documents, or interactive web applications.

Plotly

Available through Pythonnotebook, Bokeh is committed to interactive charting, but offers several types of charting that are rarely found in other libraries, such as contour maps, trees, and 3d charts.

pygal

Like Bokeh and Plotly, interactive images are available that can be embedded directly into a web browser. The main difference from the other two is that you can output diagrams in SVG format, all diagrams are wrapped as methods, and the default style is nice, making it easy to make beautiful diagrams with a few lines of code.

geoplotlib

A toolbox for making maps and geospatial data. Can be used to make various maps, such as equivalent area map, heat map, point density map. Pyglet (an object-oriented programming interface) must be installed to use it.

missingno

Image can be used to quickly assess the situation of missing data. Data can be sorted or filtered according to the integrity of the data, or data can be corrected according to heat maps or tree charts.

Web development

Django

PythonWeb is an advanced PythonWeb framework that supports rapid development and provides everything from a template engine to an ORM. Building apps using this library must follow the Django approach.

Flask

A Python microframework based on Werkzeug and Jinja2 that comes with the Jinja template engine by default, as well as other template engines or ORM options for writing API services.

Twisted

An event-driven web engine framework implemented in Python, built on Deferredobject, a high-performance engine implemented through an asynchronous architecture, is not suitable for writing regular WebApps, but is more suitable for the underlying network.

Database management

MySQL-python

Also known as MySQLdb, it is the most popular driver for Python to connect to MySQL, and many frameworks are developed based on this library. Python2.x is supported only, and there are many prerequisites for installation. Because this library is developed based on C language, it is very unfriendly to install on Windows platform and often fails. Now it is basically not recommended to use, and the derivative version is substituted.

SQLAlchemy

A tool that supports both native SQL and ORM. ORM is a mapping between Python objects and database relational tables. It can speed up code writing and is compatible with multiple database systems, such as SQLite, MySQL, PostgreSQL, at the cost of some performance losses.

PyMySQL

Pure Python driver, slower than MySQLdb, the biggest feature is simple installation, but also compatible with mysql-Python.

mysqlclient

Fully compatible with MySQLdb and python3. x, DjangoORM is dependent on the tool, can use native SQL to operate the database, install the same as MySQLdb.