đ Lesson 48: NumPy Tutorial (Scientific Computing Basics)
1. NumPy áááŻááŹááŹáá˛?
ááźááşáᏠâ NumPy (Numerical Python) áááŻáᏠarray-based computing library áá áşáᯠááźá áşááźáŽá¸ Python áážáŹ mathematical operations, linear algebra, statistics, data analysis á ááŹáá˝áąááᯠáĄáá˝ááşááá° ááŻááşáááŻááşáĄáąáŹááş áá°ááŽááąá¸áááşá
English â NumPy is a library for numerical computing in Python, providing support for arrays, mathematical functions, and linear algebra.
2. Why Use NumPy?
- Python list áááş NumPy array á memory efficient ááźá áşáááş
- Vectorized operations â loops ááááŻáᲠáĄááźááşááŻáśá¸áá˝ááşáááŻááşáááş
- Data science, Machine Learning, AI project áá˝áąáĄáá˝ááş áĄááźáąááś library
3. áĄááťááşá¸ááťáŻááş
â NumPy = numerical computing library
â Array operations â faster than Python lists
â Useful functions â mean, median, std, sum
â Supports multi-dimensional arrays
# ===== 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]===== 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]