Thuta Learning
IntermediateProgrammingbeginner

NumPy Tutorial (Enhanced)

Relax. We'll talk through this in plain words — no textbook voice.

🐍 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]
NumPy Tutorial (Enhanced) | Thuta Learning