Welcome to numpy-journey — a personal, practical repository documenting my learning process and deep dive into NumPy, one of the core libraries for numerical computing in Python.
This repository captures my entire journey—from the very first array I created to implementing advanced operations like broadcasting, vectorized computations, and statistical functions. Every notebook and script here reflects what I’ve practiced and learned through hands-on exploration.
Throughout this journey, I used Jupyter Notebook to experiment with and visualize concepts, often incorporating LaTeX to clearly express mathematical ideas. I also followed good development practices using tools like Ruff for code quality and uv as a lightweight, modern Python package manager to manage dependencies efficiently aiming to keep everything clean, fast, and reproducible.
This repository serves as both a learning log and a reference. I’ve organized it in a way that others can follow along or revisit key topics when needed.
To get started with this repository, follow these steps:
- Clone the repository
git clone https://github.com/Tams3d/numpy-journey.git
cd numpy-journey- (Optional) Create and activate a virtual environment
python -m venv .venv
source .venv/Scripts/activate # For Windows
# or
source .venv/bin/activate # For macOS/Linux- Install dependencies
uv syncThis will install all required packages listed in the pyproject.toml file, including numpy, matplotlib, and ruff and dev dependencies.
The repository covers a wide range of NumPy topics, including but not limited to:
- Array creation and initialization
- Array operations and properties
- Broadcasting and vectorization
- Indexing, slicing, and iterating arrays
- Sorting and filtering elements
- Stacking, splitting, and reshaping arrays
- Mathematical functions and statistical operations
- Set operations and custom user-defined functions
- General utility functions and tricks
I'm an 18-year-old with a strong interest in artificial intelligence, machine learning, and data science. I learn best through hands-on projects and real-world experimentation. Beyond programming, I enjoy creative work like photo/video editing and 3D design in Blender, building tools to enhance these workflows by combining technical and creative thinking.
Currently, I'm focused on deep learning and generative AI, with a goal of contributing to research and open-source work. This repository reflects my commitment to mastering core tools like NumPy as part of my foundation in scientific and AI computing.
-
CampusX Data Science Mentorship Program – Nitish Singh (Hindi)
Watch on YouTube
Beginner-friendly, practical tutorial for mastering NumPy for data science. -
Introduction to Numerical Computing with NumPy – Alex Chabot-Leclerc (English)
Watch on YouTube
A comprehensive introduction to numerical computing using NumPy, focusing on array operations and performance. -
Advanced NumPy – Juan Nunez-Iglesias (English)
Watch on YouTube
A deep dive into advanced NumPy topics, including broadcasting, memory layout, and performance optimizations.
This project is licensed under the MIT License. You are free to use, modify, and distribute the code with proper attribution.
