<p align="center"> 
<a href="https://github.com/milaan9"><img src="https://img.shields.io/static/v1?logo=github&label=maintainer&message=milaan9&color=ff3300" alt="Last Commit"/></a> 
<!--<img src="https://badges.pufler.dev/created/milaan9/09_Python_NumPy_Module" alt="Created"/>-->
<!--<a href="https://github.com/milaan9/09_Python_NumPy_Module/graphs/commit-activity"><img src="https://img.shields.io/github/last-commit/milaan9/09_Python_NumPy_Module.svg?colorB=ff8000&style=flat" alt="Last Commit"/> </a>-->
<a href="https://github.com/milaan9/09_Python_NumPy_Module/pulse" alt="Activity"><img src="https://img.shields.io/github/commit-activity/m/milaan9/09_Python_NumPy_Module.svg?colorB=teal&style=flat" /></a> 
<a href="https://hits.seeyoufarm.com"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fmilaan9%2F09_Python_NumPy_Module&count_bg=%231DC92C&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=views&edge_flat=false"/></a>
<a href="https://github.com/milaan9/09_Python_NumPy_Module/stargazers"><img src="https://img.shields.io/github/stars/milaan9/09_Python_NumPy_Module.svg?colorB=1a53ff" alt="Stars Badge"/></a>
<a href="https://github.com/milaan9/09_Python_NumPy_Module/network/members"><img src="https://img.shields.io/github/forks/milaan9/09_Python_NumPy_Module" alt="Forks Badge"/> </a>
<img src="https://img.shields.io/github/repo-size/milaan9/09_Python_NumPy_Module.svg?colorB=CC66FF&style=flat" alt="Size"/>
<a href="https://github.com/milaan9/09_Python_NumPy_Module/pulls"><img src="https://img.shields.io/github/issues-pr/milaan9/09_Python_NumPy_Module.svg?colorB=yellow&style=flat" alt="Pull Requests Badge"/></a>
<a href="https://github.com/milaan9/09_Python_NumPy_Module/issues"><img src="https://img.shields.io/github/issues/milaan9/09_Python_NumPy_Module.svg?colorB=yellow&style=flat" alt="Issues Badge"/></a>
<img src="https://img.shields.io/github/languages/top/milaan9/09_Python_NumPy_Module.svg?colorB=996600&style=flat" alt="Language"/></a> 
<a href="https://github.com/milaan9/09_Python_NumPy_Module/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-blueviolet.svg" alt="MIT License"/></a>
</p> 
<!--<img src="https://badges.pufler.dev/contributors/milaan9/01_Python_Introduction?size=50&padding=5&bots=true" alt="milaan9"/>-->

<p align="center"> 
<a href="https://mybinder.org/v2/gh/milaan9/09_Python_NumPy_Module/HEAD"><img src="https://mybinder.org/badge_logo.svg" alt="binder"/></a>
<a href="https://githubtocolab.com/milaan9/09_Python_NumPy_Module"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="colab"/></a> 
</p> 

# 09_Python_NumPy_Module

## Introduction 👋

### What is NumPy?
[![NumPy](https://img.shields.io/badge/Numpy-777BB4?style=flat&logo=numpy&logoColor=white)](https://numpy.org/) stands for numeric python which is a python package for the computation and processing of the multidimensional and single dimensional array elements.

**Travis Oliphant** created NumPy package in 2005 by injecting the features of the ancestor module Numeric into another module Numarray.

It is an extension module of Python which is mostly written in "C". It provides various functions which are capable of performing the numeric computations with a high speed.

NumPy provides various powerful data structures, implementing multi-dimensional arrays and matrices. These data structures are used for the optimal computations regarding arrays and matrices.

In this tutorial, we will go through the numeric python library NumPy.

### The need of NumPy?
With the revolution of data science, data analysis libraries like NumPy, SciPy, Pandas, etc. have seen a lot of growth. With a much easier syntax than other programming languages, python is the first choice language for the data scientist.

NumPy provides a convenient and efficient way to handle the vast amount of data. NumPy is also very convenient with Matrix multiplication and data reshaping. NumPy is fast which makes it reasonable to work with a large set of data.

There are the following advantages of using NumPy for data analysis.

* NumPy performs array-oriented computing.
* It efficiently implements the multidimensional arrays.
* It performs scientific computations.
* It is capable of performing Fourier Transform and reshaping the data stored in multidimensional arrays.
* NumPy provides the in-built functions for linear algebra and random number generation.

Nowadays, NumPy in combination with SciPy and Mat-plotlib is used as the replacement to MATLAB as Python is more complete and easier programming language than MATLAB.

---

## Table of contents 📋

| **No.** | **Name** | 
| ------- | -------- | 
| 01 | **[Python_NumPy](https://github.com/milaan9/09_Python_NumPy_Module/blob/main/001_Python_NumPy.ipynb)** |
| 02 | **[Python_NumPy_Array_Part1](https://github.com/milaan9/09_Python_NumPy_Module/blob/main/002_Python_NumPy_Array_Part1.ipynb)** |
| 03 | **[Python_NumPy_Array_Part2](https://github.com/milaan9/09_Python_NumPy_Module/blob/main/003_Python_NumPy_Array_Part2.ipynb)** |
| 04 | **[Python_NumPy_Array_Part3](https://github.com/milaan9/09_Python_NumPy_Module/blob/main/004_Python_NumPy_Array_Part3.ipynb)** |
| 05 | **[Python_NumPy_Array_Part4](https://github.com/milaan9/09_Python_NumPy_Module/blob/main/005_Python_NumPy_Array_Part4.ipynb)** |
|    | **[data](https://github.com/milaan9/09_Python_NumPy_Module/blob/main/data.txt)** |
| 06 | **[Python_Numpy_Exercises_with_hints](https://github.com/milaan9/09_Python_NumPy_Module/blob/main/Python_Numpy_Exercises_with_hints.ipynb)** |
| 07 | **[Python_Numpy_Exercises_with_hints](https://github.com/milaan9/09_Python_NumPy_Module/blob/main/Python_Numpy_Exercises_with_hints.ipynb)** |
| 08 | **[NumPy Cheat Sheet Data Analysis in Python.pdf](https://github.com/milaan9/09_Python_NumPy_Module/blob/main/NumPy%20Cheat%20Sheet%20Data%20Analysis%20in%20Python.pdf)** |


These are online **read-only** versions. However you can **`Run ▶`**  all the codes **online** by clicking here ➞ <a href="https://mybinder.org/v2/gh/milaan9/09_Python_NumPy_Module/HEAD"><img src="https://mybinder.org/badge_logo.svg" alt="binder"/></a>

---

## Install Numpy Module:

Open your [![Anaconda](https://img.shields.io/badge/Anaconda-342B029.svg?&style=flate&logo=anaconda&logoColor=white)](https://www.anaconda.com/products/individual) Prompt <img alt="propmt" src="https://img.shields.io/badge/-__-000000?style=flat-square&logo=Plex&logoColor=white"> and type and run the following command (individually):

 -       pip install numpy  
 

Once Installed now we can import it inside our python code.

---    

## Frequently asked questions ❔

### How can I thank you for writing and sharing this tutorial? 🌷

You can <img src="https://img.shields.io/static/v1?label=%E2%AD%90 Star &message=if%20useful&style=style=flat&color=blue" alt="Star Badge"/> and <img src="https://img.shields.io/static/v1?label=%E2%B5%96 Fork &message=if%20useful&style=style=flat&color=blue" alt="Fork Badge"/> Starring and Forking is free for you, but it tells me and other people that it was helpful and you like this tutorial.

Go [**`here`**](https://github.com/milaan9/09_Python_NumPy_Module) if you aren't here already and click ➞ **`✰ Star`** and **`ⵖ Fork`** button in the top right corner. You'll be asked to create a GitHub account if you don't already have one.

---

### How can I read this tutorial without an Internet connection? <img alt="GIF" src="https://github.com/TheDudeThatCode/TheDudeThatCode/blob/master/Assets/hmm.gif" width="20" />

1. Go [**`here`**](https://github.com/milaan9/09_Python_NumPy_Module) and click the big green ➞ **`Code`** button in the top right of the page, then click ➞ [**`Download ZIP`**](https://github.com/milaan9/09_Python_NumPy_Module/archive/refs/heads/main.zip).

    ![Download ZIP](img/dnld_rep.png)

2. Extract the ZIP and open it. Unfortunately I don't have any more specific instructions because how exactly this is done depends on which operating system you run.
    
3. Launch ipython notebook from the folder which contains the notebooks. Open each one of them
  
    **`Kernel > Restart & Clear Output`**
    
This will clear all the outputs and now you can understand each statement and learn interactively.

If you have git and you know how to use it, you can also clone the repository instead of downloading a zip and extracting it. An advantage with doing it this way is that you don't need to download the whole tutorial again to get the latest version of it, all you need to do is to pull with git and run ipython notebook again.

---

## Authors ✍️

I'm Dr. Milaan Parmar and I have written this tutorial. If you think you can add/correct/edit and enhance this tutorial you are most welcome🙏

See [github's contributors page](https://github.com/milaan9/09_Python_NumPy_Module/graphs/contributors) for details.

If you have trouble with this tutorial please tell me about it by [Create an issue on GitHub](https://github.com/milaan9/09_Python_NumPy_Module/issues/new). and I'll make this tutorial better. This is probably the best choice if you had trouble following the tutorial, and something in it should be explained better. You will be asked to create a GitHub account if you don't already have one.

If you like this tutorial, please [give it a ⭐ star](https://github.com/milaan9/09_Python_NumPy_Module).

---

## Licence 📜

You may use this tutorial freely at your own risk. See [LICENSE](./LICENSE).
Copyright (c) 2020 Dr. Milan Parmar
