Skip to content

An in-depth guide to mastering NumPy, covering fundamental to advanced array operations for data science and numerical computing.

License

Notifications You must be signed in to change notification settings

mr-pylin/numpy-workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔢 NumPy Workshop

An in-depth guide to mastering NumPy, covering fundamental to advanced array operations for data science and numerical computing.

📖 Table of Contents

  1. Array Basics
    Introduction to NumPy arrays
  2. Arithmetic Operations
    Arithmetic operations between (array & scalar) or (array & array)
  3. Comparative Operations
    Comparative operations between (array & scalar) or (array & array)
  4. Index & Slice
    Basic and advanced indexing and slicing arrays including Mask & Filters
  5. Axes
    Understanding use of axes in multi-dimensional arrays combined with methods [the hardest part in NumPy for newbies in my opinion]
  6. Array Manipulations
    Techniques for updating values, appending, inserting, reshaping, concatenating, ...
  7. NdArray properties & methods
    Comprehensive overview of properties and methods associated with NumPy arrays.
  8. Array Creation
    Various methods to create NumPy arrays (e.g., numpy.array, numpy.zeros, etc.).
  9. Mathematics
    Mathematical functions and operations available in NumPy
  10. Statistics
    Statistical functions for data analysis (mean, median, variance, etc.).
  11. Sort, Search & Count
    Methods for sorting, searching, and counting elements in arrays.
  12. Logic
    Logical operations and boolean indexing with NumPy arrays.
  13. Set
    Set operations for array elements (union, intersection, difference).
  14. Linear Algebra
    Fundamental linear algebra operations using NumPy (matrix multiplication, determinants).
  15. Structured Array
    Creating and manipulating structured arrays with custom data types.
  16. Input/Output
    Techniques for reading from and writing to files using NumPy.
  17. Random Generator
    Generating random numbers and distributions with NumPy's random module.
  18. Fourier Transform
    Understanding and applying Fourier transforms in NumPy.
  19. Efficient Computing
    Strategies for optimizing performance and memory usage in NumPy operations.
  20. Miscellaneous
    Additional topics and advanced features in NumPy.
  21. Looking Ahead
    Introduction to Pandas for data manipulation and Matplotlib for data visualization.

📋 Prerequisites

⚙️ Setup

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.

📦 Installing Dependencies

You can install all dependencies listed in requirements.txt using pip.

pip install -r requirements.txt

🛠️ Usage Instructions

  • Open the root folder with VS Code
    • Windows/Linux: Ctrl + K followed by Ctrl + O
    • macOS: Cmd + K followed by Cmd + O
  • Open .ipynb files using Jupyter extension integrated with VS Code
  • Allow VS Code to install any recommended dependencies for working with Jupyter Notebooks.
  • Note: Jupyter is integrated with both VS Code & Google Colab

🔗 Useful Links

  • NumPy Website:
    • The official website for NumPy, providing information, tutorials, and resources for the NumPy library
    • Official site: numpy.org
  • NumPy Documentation:
    • Comprehensive guide and reference for all functionalities and features of the NumPy library
    • Doc: numpy.org/doc
  • NumPy Source Code:
  • Looking Ahead:
    • Pandas
      • A powerful, open-source data analysis and manipulation library built on top of NumPy for Python
      • Official site: pandas.pydata.org
      • My Pandas Workshop: Coming Soon
    • MatPlotLib
      • A comprehensive library for creating static, animated, and interactive visualizations in Python
      • Official site: matplotlib.org
      • My MatPlotLib Workshop: Coming Soon
    • PyTorch

🔍 Find Me

Any mistakes, suggestions, or contributions? Feel free to reach out to me at:

I look forward to connecting with you! 🏃‍♂️

📄 License

This project is licensed under the Apache License 2.0.
You are free to use, modify, and distribute this code, but you must include copies of both the LICENSE and NOTICE files in any distribution of your work.

About

An in-depth guide to mastering NumPy, covering fundamental to advanced array operations for data science and numerical computing.

Topics

Resources

License

Stars

Watchers

Forks