|
1 | 1 | # 🔢 NumPy Workshop |
2 | 2 | An in-depth guide to mastering NumPy, covering fundamental to advanced array operations for data science and numerical computing. |
3 | 3 |
|
4 | | -## 📋 Table of Contents |
5 | | -0. [Array](./codes/00_array.ipynb) |
6 | | - - Introduction to NumPy arrays |
7 | | -1. [Arithmetic Operations](./codes/01_arithmetic-operations.ipynb) |
8 | | - - Arithmetic operations |
9 | | - - Operations between (array & scalar) and (array & array) |
10 | | -2. [Comparative Operations](./codes/02_comparative-operations.ipynb) |
11 | | - - Comparative operations |
12 | | - - Operations between (array & scalar) and (array & array) |
13 | | -3. [Index & Slice](./codes/03_index-&-slice.ipynb) |
14 | | - - Indexing and slicing arrays |
15 | | - - Advanced indexing techniques |
16 | | - - Mask & Filters |
17 | | - - Integer & Boolean array indexing |
18 | | -4. [Axes](./codes/04_axes.ipynb) |
19 | | - - Understanding axes in NumPy |
20 | | -5. [Modifications](./codes/05_modifications.ipynb) |
21 | | -6. [ndarray](./codes/06_ndarray.ipynb) |
22 | | -7. [Array Creation](./codes/07_array-creation.ipynb) |
23 | | -8. [Mathematics](./codes/08_mathematics.ipynb) |
24 | | -9. [Statistics](./codes/09_statistics.ipynb) |
25 | | -10. [Sort, Search & Count](./codes/10_sort-search-count.ipynb) |
26 | | -11. [Logic](./codes/11_logic.ipynb) |
27 | | -12. [Set](./codes/12_set.ipynb) |
28 | | -13. [Linear Algebra](./codes/13_linear-algebra.ipynb) |
29 | | -14. [Structured Array](./codes/14_structured-array.ipynb) |
30 | | -15. [Input/Output](./codes/15_input-output.ipynb) |
31 | | -16. [Random Generator](./codes/16_random-generator.ipynb) |
32 | | -17. [Fourier Transform](./codes/17_fourier-transform.ipynb) |
33 | | -18. [Efficient Computing](./codes/18_efficient-computing.ipynb) |
34 | | -19. [Miscellaneous](./codes/19_miscellaneous.ipynb) |
35 | | -20. [Looking Ahead](./codes/20_looking-ahead.ipynb) |
| 4 | +## 📖 Table of Contents |
| 5 | +0. **[Array](./codes/00_array.ipynb)** |
| 6 | + Introduction to NumPy arrays |
| 7 | +0. **[Arithmetic Operations](./codes/01_arithmetic-operations.ipynb)** |
| 8 | + Arithmetic operations between (array & scalar) or (array & array) |
| 9 | +0. **[Comparative Operations](./codes/02_comparative-operations.ipynb)** |
| 10 | + Comparative operations between (array & scalar) or (array & array) |
| 11 | +0. **[Index & Slice](./codes/03_index-&-slice.ipynb)** |
| 12 | + Basic and advanced indexing and slicing arrays including Mask & Filters |
| 13 | +0. **[Axes](./codes/04_axes.ipynb)** |
| 14 | + Understanding use of axes in multi-dimensional arrays combined with methods [the hardest part in NumPy for newbies in my opinion] |
| 15 | +0. **[Array Modifications](./codes/05_array-modifications.ipynb)** |
| 16 | + Techniques for updating values, appending, inserting, reshaping, concatenating, ... |
| 17 | +0. **[NdArray properties & methods](./codes/06_ndarray-members.ipynb)** |
| 18 | + Comprehensive overview of properties and methods associated with NumPy arrays. |
| 19 | +0. **[Array Creation](./codes/07_array-creation.ipynb)** |
| 20 | + Various methods to create NumPy arrays (e.g., `numpy.array`, `numpy.zeros`, etc.). |
| 21 | +0. **[Mathematics](./codes/08_mathematics.ipynb)** |
| 22 | + Mathematical functions and operations available in NumPy |
| 23 | +0. **[Statistics](./codes/09_statistics.ipynb)** |
| 24 | + Statistical functions for data analysis (mean, median, variance, etc.). |
| 25 | +0. **[Sort, Search & Count](./codes/10_sort-search-count.ipynb)** |
| 26 | + Methods for sorting, searching, and counting elements in arrays. |
| 27 | +0. **[Logic](./codes/11_logic.ipynb)** |
| 28 | + Logical operations and boolean indexing with NumPy arrays. |
| 29 | +0. **[Set](./codes/12_set.ipynb)** |
| 30 | + Set operations for array elements (union, intersection, difference). |
| 31 | +0. **[Linear Algebra](./codes/13_linear-algebra.ipynb)** |
| 32 | + Fundamental linear algebra operations using NumPy (matrix multiplication, determinants). |
| 33 | +0. **[Structured Array](./codes/14_structured-array.ipynb)** |
| 34 | + Creating and manipulating structured arrays with custom data types. |
| 35 | +0. **[Input/Output](./codes/15_input-output.ipynb)** |
| 36 | + Techniques for reading from and writing to files using NumPy. |
| 37 | +0. **[Random Generator](./codes/16_random-generator.ipynb)** |
| 38 | + Generating random numbers and distributions with NumPy's random module. |
| 39 | +0. **[Fourier Transform](./codes/17_fourier-transform.ipynb)** |
| 40 | + Understanding and applying Fourier transforms in NumPy. |
| 41 | +0. **[Efficient Computing](./codes/18_efficient-computing.ipynb)** |
| 42 | + Strategies for optimizing performance and memory usage in NumPy operations. |
| 43 | +0. **[Miscellaneous](./codes/19_miscellaneous.ipynb)** |
| 44 | + Additional topics and advanced features in NumPy. |
| 45 | +0. **[Looking Ahead](./codes/20_looking-ahead.ipynb)** |
| 46 | + Introduction to *Pandas* for data manipulation and *Matplotlib* for data visualization. |
| 47 | + |
| 48 | +## 📋 Prerequisites |
| 49 | + - **Programming Fundamentals** |
| 50 | + - Proficiency in Python (data types, control structures, functions, etc.). |
| 51 | + - My Python Workshop: [github.com/mr-pylin/python-workshop](https://github.com/mr-pylin/python-workshop) |
| 52 | + - **Mathematics for Machine Learning** |
| 53 | + - Linear Algebra: Vectors, matrices, matrix operations. |
| 54 | + - [*Linear Algebra Review and Reference*](https://www.cs.cmu.edu/%7Ezkolter/course/linalg/linalg_notes.pdf) written by [Zico Kolter](https://zicokolter.com) |
| 55 | + - [*Notes on Linear Algebra*](https://webspace.maths.qmul.ac.uk/p.j.cameron/notes/linalg.pdf) written by [Peter J. Cameron](https://cameroncounts.github.io/web) |
| 56 | + - [*MATH 233 - Linear Algebra I Lecture Notes*](https://www.geneseo.edu/~aguilar/public/assets/courses/233/main_notes.pdf) written by [Cesar O. Aguilar](https://www.geneseo.edu/~aguilar/) |
| 57 | + - Probability & Statistics: Probability distributions, mean/variance, etc. |
| 58 | + - [*MATH1024: Introduction to Probability and Statistics*](https://www.sujitsahu.com/teach/2020_math1024.pdf) written by [Sujit Sahu](https://www.southampton.ac.uk/people/5wynjr/professor-sujit-sahu) |
| 59 | + |
| 60 | +# ⚙️ Setup |
| 61 | +This project was developed using Python `v3.12.3`. If you encounter issues running the specified version of dependencies, consider using this specific Python version. |
36 | 62 |
|
37 | 63 | ## 📦 Installing Dependencies |
38 | 64 | You can install all dependencies listed in `requirements.txt` using [pip](https://pip.pypa.io/en/stable/installation/). |
39 | 65 | ```bash |
40 | 66 | pip install -r requirements.txt |
41 | 67 | ``` |
42 | | -**Note:** This project was developed using Python `v3.12.3`. If you encounter issues running the dependencies or code, consider using this specific Python version. |
43 | 68 |
|
44 | | -## 🛠️ Usage |
| 69 | +## 🛠️ Usage Instructions |
45 | 70 | - Open the root folder with [VS Code](https://code.visualstudio.com/) |
46 | 71 | - **Windows/Linux**: `Ctrl + K` followed by `Ctrl + O` |
47 | 72 | - **macOS**: `Cmd + K` followed by `Cmd + O` |
48 | | - - Open `.ipynb` files using [Jupyter](https://jupyter.org/) extension integrated with VS Code |
49 | | - - Allow Visual Studio Code to install any recommended dependencies for working with Jupyter Notebooks. |
50 | | - - Jupyter is integrated with both [VS Code](https://code.visualstudio.com/) & [Google Colab](https://colab.research.google.com/) |
51 | | - |
52 | | -## 🔍 Find Me |
53 | | -Any mistakes, suggestions, or contributions? Feel free to reach out to me at: |
54 | | - - 📍[linktr.ee/mr_pylin](https://linktr.ee/mr_pylin) |
55 | | - |
56 | | -I look forward to connecting with you! |
| 73 | + - Open `.ipynb` files using [Jupyter extension](https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter) integrated with **VS Code** |
| 74 | + - Allow **VS Code** to install any recommended dependencies for working with Jupyter Notebooks. |
| 75 | + - Note: Jupyter is integrated with both **VS Code** & **[Google Colab](https://colab.research.google.com/)** |
57 | 76 |
|
58 | | -## 🔗 Usefull Links |
| 77 | +# 🔗 Useful Links |
59 | 78 | - **NumPy Website**: |
60 | 79 | - The official website for NumPy, providing information, tutorials, and resources for the NumPy library |
61 | | - - Link: [numpy.org](https://numpy.org/) |
| 80 | + - Official site: [numpy.org](https://numpy.org/) |
62 | 81 | - **NumPy Documentation**: |
63 | 82 | - Comprehensive guide and reference for all functionalities and features of the NumPy library |
64 | | - - Link: [numpy.org/doc](https://numpy.org/doc/) |
| 83 | + - Doc: [numpy.org/doc](https://numpy.org/doc/) |
65 | 84 | - **NumPy Source Code**: |
66 | | - - Over 1500 contributers are currently working on NumPy. |
| 85 | + - Over 1500 contributors are currently working on NumPy. |
67 | 86 | - Link: [github.com/numpy/numpy](https://github.com/numpy/numpy) |
68 | 87 | - **Looking Ahead**: |
69 | | - - Pandas |
70 | | - - A powerful, open-source data analysis and manipulation library for Python |
71 | | - - Pandas is built on top of NumPy |
72 | | - - Link: [pandas.pydata.org/](https://pandas.pydata.org/) |
73 | | - - MatPlotLib |
| 88 | + - **Pandas** |
| 89 | + - A powerful, open-source data analysis and manipulation library built on top of NumPy for Python |
| 90 | + - Official site: [pandas.pydata.org](https://pandas.pydata.org/) |
| 91 | + - My Pandas Workshop: [Coming Soon](https://github.com/mr-pylin/#) |
| 92 | + - **MatPlotLib** |
74 | 93 | - A comprehensive library for creating static, animated, and interactive visualizations in Python |
75 | | - - Link: [matplotlib.org](https://matplotlib.org/) |
| 94 | + - Official site: [matplotlib.org](https://matplotlib.org/) |
| 95 | + - My MatPlotLib Workshop: [Coming Soon](https://github.com/mr-pylin/#) |
| 96 | + - **PyTorch** |
| 97 | + - An open-source machine learning library for Python developed by [Meta AI](https://ai.meta.com/), used for applications such as deep learning and neural networks. |
| 98 | + - Official site: [pytorch.org](https://pytorch.org/) |
| 99 | + - My PyTorch Workshop: [github.com/mr-pylin/pytorch-workshop](https://github.com/mr-pylin/pytorch-workshop) |
| 100 | + |
| 101 | +# 🔍 Find Me |
| 102 | +Any mistakes, suggestions, or contributions? Feel free to reach out to me at: |
| 103 | + - 📍[linktr.ee/mr_pylin](https://linktr.ee/mr_pylin) |
| 104 | + |
| 105 | +I look forward to connecting with you! 🏃♂️ |
| 106 | + |
| 107 | +# 📄 License |
| 108 | +This repository is licensed under the **[MIT License](./LICENSE)**. |
0 commit comments