Skip to content

About

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

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

Β 

History

82 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”’ NumPy Workshop

License Python Version Code Style Repo Size Last Updated PRs Welcome Telegram

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

πŸ“– Table of Contents

πŸ“– Main Notebooks

  1. Introduction to Arrays
  2. Element-Wise Operators
  3. Index & Slice
  4. Axes
  5. Array Manipulations
  6. NdArray properties & methods
  7. Array Creation
  8. Mathematics
  9. Statistics
  10. Sort, Search & Count
  11. Logic
  12. Set
  13. Linear Algebra
  14. Structured Array
  15. Input/Output
  16. Random Generator
  17. Fourier Transform
  18. Efficient Computing
  19. Miscellaneous
  20. Looking Ahead

πŸ“‹ Prerequisites

Note

The mathematics requirements below are not mandatory but will significantly deepen your understanding of tensor concepts.

βš™οΈ Setup

Important

This project requires Python v3.10 or higher. For optimal compatibility and to avoid potential issues with dependencies, it is strongly advised that you use the Python version specified in the .python-version file.

πŸ“ List of Dependencies

Installing matplotlib and pandas is OPTIONAL. They are used exclusively in the Looking Ahead Notebook to show an application of using them.

ipykernel matplotlib numpy pandas

πŸ“¦ Installing Dependencies

1️⃣ Method 1: uv (Recommended βœ…)

  • Use uv for dependency management. It handles dependencies, virtual environments, and locking versions more efficiently than pip.

  • To install exact dependency versions specified in uv.lock for consistent environments without installing the current project as a package:

    uv sync --no-install-project                 # Install only numpy
    uv sync --no-install-project --extra full    # Install numpy + optional dependencies

2️⃣ Method 2: pip

  • Install all dependencies listed in requirements.txt using pip:

    pip install -r requirements.txt

Warning

The requirements.txt includes full installation of dependencies. Comment matplotlib and pandas in order to install only numpy.

Caution

Pip does not lock dependency versions as strictly as uv. You may encounter version conflicts or reproducibility issues. Only use this method if you know what you are doing.

πŸ› οΈ Usage Instructions

  1. Open the root folder with VS Code (Ctrl/Cmd + K followed by Ctrl/Cmd + O).
  2. Open .ipynb files using the Jupyter extension integrated with VS Code.
  3. Select the correct Python kernel and virtual environment where the dependencies were installed.
  4. Allow VS Code to install any recommended dependencies for working with Jupyter Notebooks.

Note

  • Stick with the exact dependency versions specified in uv.lock or requirements.txt. The repository has been tested with these versions to ensure compatibility and stability.
  • This repository is actively maintained, and dependencies are updated regularly to the latest stable versions.
  • The table of contents embedded within notebooks (.ipynb files) may not function correctly on GitHub.
  • For an improved experience, open the notebooks locally or view them via nbviewer, rather than directly on GitHub.

πŸ”— Useful Links

NumPy

  • Official Website:
    • The official website for NumPy, providing information, tutorials, and resources for the NumPy library
    • Official site: numpy.org
  • Documentation
    • Comprehensive guide and reference for all functionalities and features of the NumPy library
    • Doc: numpy.org/doc
  • Source Code

Looking Ahead

🀝 Contributions & Feedback

Found an issue, have a suggestion, or wish to contribute? Your input is highly valued.

I look forward to connecting with you! πŸƒβ€β™‚οΈ

πŸ“„ License

This project's code is licensed under the Apache License 2.0. This license grants you the freedom to use, modify, and distribute the code. However, any distribution of the code must include copies of both the LICENSE and NOTICE files.

©️ Copyright Information

About

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

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages