In the past few years, Python has gained a lot of attraction in Data Science industry. Some of its most useful libraries make Python extremely useful for working with data. As a result, Python tops 2017’s most popular programming Languages.

In this post I want to outline some of its most useful libraries for data scientists and machine learning engineers.

### Core Libraries for Data Analysis

#### NumPy – Numerical Python

Most powerful because of its n-dimensional array. It contains basic linear algebra functions, Fourier transforms, advanced random number capabilities and tools for integration with other low level languages like Fortran, C and C++.

#### SciPy – Scientific Python

NumPy and Scipy are famous as fundamental scientific computing libraries. It provides variety of high level science and engineering modules like discrete Fourier transform, Linear Algebra, Optimization and Sparse matrices.

#### Pandas

Popular for easy data manipulation and analysis purpose. It is extensively used for data munging and preparation.

### Statistics

#### Statsmodels

Very popular in data scientist community because of its statistical modeling, testing, and analysis capabilities.

Also Read:

#### Data Visualization

#### Matplotlib

Matplotlib is for plotting vast variety of graphs, starting from histograms to line plots to heat plots.

#### Seaborn

Seaborn is mostly used for the visualization of statistical models. It is based on Matplotlib and highly dependent on that.

#### Bokeh

Another awesome visualization library in python is Bokeh. It is very popular for interactive visualizations. It is independent of Matplotlib.

#### Plotly

Plotly is a web-based toolkit for building visualizations, exposing APIs to some programming languages (Python among them). It lets users easily create interactive charts and dashboards to share online with their audience.

Also Read:

#### Natural Language Processing

#### NLTK – Natural Language Toolkit

NLTK it used for common tasks of symbolic and statistical Natural Language Processing. It is a leading platform for building Python programs to work with human language data. It allows a lot of operations such as text tagging, classification, and tokenizing, name entities identification, building corpus tree that reveals inter and intra-sentence dependencies, stemming, semantic reasoning etc.

#### Gensim

Gensim is intended for handling large text collections, using efficient algorithms. It is an open-source library for Python that implements tools for work with vector space modeling and topic modeling.

Gensim can handle raw and unstructured digital texts very efficiently. It supports in-memory processing. The efficiency is achieved by the using of NumPy data structures and SciPy operations extensively. It is both efficient and easy to use. implements algorithms such as hierarchical Dirichlet processes (HDP), latent semantic analysis (LSA) and latent Dirichlet allocation (LDA), as well as tf-idf, random projections, word2vec and document2vec facilitate examination of texts for recurring patterns of words in the set of documents

### Machine Learning

#### SciKit-Learn

Scikit Learn gained very popularity because of its rich machine learning algorithm collection. It is built on top of NumPy, SciPy and matplotlib. This library is enriched of efficient tools for machine learning and statistical modeling including classification, regression, clustering and dimensional reduction.

#### Deep Learning

#### Keras

It is an open-source library for building Neural Networks at a high-level of the interface. It is written in Python. an open-source library for building Neural Networks at a high-level of the interface, and it is written in Python.

#### TensorFlow

It is an open-source library based on data flow graphs computations. It was designed for high-demand requirements of Google environment for training Neural Networks and is a successor of DistBelief which is a Machine Learning system, based on Neural Networks. The key feature of TensorFlow is their multi-layered nodes system that enables quick training of artificial neural networks on large datasets.

#### Theano

Originally developed by the Machine Learning group of Université de Montréal, it is primarily used for the needs of Machine Learning. It is a Python package that defines multi-dimensional arrays similar to NumPy, along with math operations and expressions. The library is compiled, making it run efficiently on all architectures.

Also Read:Most Popular Python Libraries for Machine Learning and Deep Learning in 2017

#### Data Mining

#### Scrapy

An open source web scraping framework for Python scrapy.org. It is known as spider bots, for retrieval of the structured data, such as contact info or URLs, from the web.