🐍 Lesson 48: NumPy Tutorial (Scientific Computing Basics)
1. What is NumPy?
In short → NumPy (Numerical Python) is an array-based computing library that makes it easy to do mathematical operations, linear algebra, statistics, data analysis and more in Python.
English → NumPy is a library for numerical computing in Python, providing support for arrays, mathematical functions, and linear algebra.
2. Why Use NumPy?
- NumPy arrays are memory efficient compared to Python lists
- Vectorized operations → run super fast without needing loops
- The foundational library for Data Science, Machine Learning, and AI projects
3. Summary
✅ NumPy = numerical computing library
✅ Array operations → faster than Python lists
✅ Useful functions → mean, median, std, sum
✅ Supports multi-dimensional arrays
python
# ===== 1. NumPy Installation & Import =====
# pip install numpy
import numpy as np
# ===== 2. Creating Arrays =====
print("===== Creating Arrays =====")
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
print(f"1D Array: {arr1}")
print(f"2D Array:\n{arr2}")
# ===== 3. Array Operations =====
print(f"\n===== Array Operations =====")
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(f"a + b: {a + b}") # [5 7 9]
print(f"a * b: {a * b}") # [ 4 10 18]
print(f"a ** 2: {a ** 2}") # [1 4 9]
# ===== 4. Useful NumPy Functions =====
print(f"\n===== NumPy Functions =====")
arr = np.array([10, 20, 30, 40, 50])
print(f"Mean: {np.mean(arr)}")
print(f"Median: {np.median(arr)}")
print(f"Sum: {np.sum(arr)}")
print(f"Max: {np.max(arr)}")
print(f"Min: {np.min(arr)}")
# ===== 5. Array Slicing & Indexing =====
print(f"\n===== Array Slicing =====")
arr = np.array([10, 20, 30, 40, 50])
print(f"arr[0]: {arr[0]}")
print(f"arr[1:4]: {arr[1:4]}")
print(f"arr[-1]: {arr[-1]}")
# ===== 6. Multi-dimensional Arrays =====
print(f"\n===== 2D Arrays =====")
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(f"Shape: {arr.shape}") # (2, 3)
print(f"arr[0, 1]: {arr[0, 1]}") # 2
print(f"arr[:, 2]: {arr[:, 2]}") # [3 6]You should see
===== Creating Arrays ===== 1D Array: [1 2 3 4 5] 2D Array: [[1 2 3] [4 5 6]] ===== Array Operations ===== a + b: [5 7 9] a * b: [ 4 10 18] a ** 2: [1 4 9] ===== NumPy Functions ===== Mean: 30.0 Median: 30.0 Sum: 150 Max: 50 Min: 10 ===== Array Slicing ===== arr[0]: 10 arr[1:4]: [20 30 40] arr[-1]: 50 ===== 2D Arrays ===== Shape: (2, 3) arr[0, 1]: 2 arr[:, 2]: [3 6]