Home › Lectures › Data Analysis

🔢 নামপাই · NumPy

দ্রুত সংখ্যাগত গণনার ভিত্তি লাইব্রেরি।

The foundation library for fast numerical computing.

📅 ২. ডেটা বিশ্লেষণ⏳ ~1 সপ্তাহ📘 6 টপিক🧩 18 সাব-টপিক🎬 0 ভিডিও💻 রানযোগ্য কোড

🎯 যা শিখবেন / Outcomes

Vectorised array math, broadcasting, linear algebra

🧰 টুলস / Tools

NumPy

🏁 প্রজেক্ট / Capstone

Image as array: flip, crop, brighten

📌 পূর্বশর্ত / Prerequisites

🐍 Python Programming

📅

সাপ্তাহিক পরিকল্পনা · Weekly plan

~২ ঘণ্টা/দিন ধরে
1

NumPy Arrays

ndarray for fast numerical computing.
Beginner
📘 বাংলা: দ্রুত সংখ্যাগত গণনার জন্য ndarray।
🌐 English: ndarray for fast numerical computing.

💡 pandas, scikit-learn, PyTorch—সবার ভেতরে NumPy অ্যারে; সংখ্যাগত কাজের ভিত্তি।

  1. 1
    import numpy as np; np.array([1,2,3]) দিয়ে তৈরি
  2. 2
    তৈরির শর্টকাট: np.zeros((3,4)), np.ones, np.arange(0,10,2), np.linspace(0,1,5)
  3. 3
    বৈশিষ্ট্য দেখুন: a.shape, a.ndim, a.dtype, a.size
  4. 4
    reshape(3,4) দিয়ে আকার বদলান (মোট উপাদান একই থাকতে হবে)
তৈরিnp.array, zeros, ones, arange, linspace
বৈশিষ্ট্যshape, dtype, ndim
reshapeআকার পরিবর্তন
2

Array Indexing & Slicing

Select parts of an array.
Beginner
📘 বাংলা: অ্যারের নির্দিষ্ট অংশ বের করা।
🌐 English: Select parts of an array.

💡 ডেটার নির্দিষ্ট অংশ বের করা—ছবির ক্রপ, টাইম-সিরিজের জানালা, শর্তে ফিল্টার।

  1. 1
    ১-মাত্রিক: a[0] প্রথম, a[-1] শেষ, a[2:5] স্লাইস
  2. 2
    ২-মাত্রিক: a[row, col], a[:, 0] পুরো প্রথম কলাম
  3. 3
    বুলিয়ান মাস্ক: a[a > 30] শর্ত মেলে এমন মান
  4. 4
    ফ্যান্সি ইনডেক্সিং: a[[0,2,4]] নির্দিষ্ট অবস্থান
ইনডেক্সিংa[0], a[1,2]
স্লাইসিংa[1:4], a[:,0]
বুলিয়ান মাস্কa[a>5]
3

Broadcasting

Arithmetic across arrays of different shapes.
Intermediate
📘 বাংলা: ভিন্ন আকারের অ্যারেতে গণনা।
🌐 English: Arithmetic across arrays of different shapes.

💡 লুপ ছাড়াই ভিন্ন আকারের অ্যারেতে গণনা—কোড ছোট ও দ্রুত।

  1. 1
    নিয়ম: ডান দিক থেকে মাত্রা তুলনা; সমান বা একটি ১ হলে মেলে
  2. 2
    (3,4) + (4,) → প্রতিটি সারিতে ভেক্টর যোগ
  3. 3
    কলামভিত্তিক করতে (3,1) আকার দিন: v[:, None]
  4. 4
    না মিললে "operands could not be broadcast" এরর
নিয়মডান দিক থেকে মাত্রা মেলানো
উদাহরণম্যাট্রিক্স + ভেক্টর
সতর্কতাঅনিচ্ছাকৃত শেপ মিল
4

Vectorization

Fast math without Python loops.
Intermediate
📘 বাংলা: লুপ ছাড়াই দ্রুত গণনা।
🌐 English: Fast math without Python loops.

💡 Python লুপের চেয়ে ১০–১০০ গুণ দ্রুত—বড় ডেটায় অপরিহার্য।

  1. 1
    লুপ চিনুন: প্রতিটি উপাদানে একই গণনা
  2. 2
    ufunc দিয়ে বদলান: np.sqrt(a), np.exp(a), a*2+1
  3. 3
    অ্যাগ্রিগেশন: a.sum(), a.mean(axis=0) (কলামভিত্তিক), axis=1 (সারিভিত্তিক)
  4. 4
    শর্তভিত্তিক: np.where(a > 0, a, 0)
ইউনিভার্সাল ফাংশনnp.sqrt, np.exp
অ্যাগ্রিগেশনsum, mean, axis
গতিPython লুপের চেয়ে ১০–১০০ গুণ দ্রুত
5

NumPy Linear Algebra

Matrix products, inverses and eigenvalues.
Advanced
📘 বাংলা: ম্যাট্রিক্স গুণ, ইনভার্স, আইগেনভ্যালু।
🌐 English: Matrix products, inverses and eigenvalues.

💡 রিগ্রেশন, PCA, নিউরাল নেট—সবার পেছনে লিনিয়ার অ্যালজেব্রা।

  1. 1
    ম্যাট্রিক্স গুণ A @ B, ডট np.dot
  2. 2
    np.linalg.inv, det, norm
  3. 3
    সমীকরণ সিস্টেম np.linalg.solve(A, b)
  4. 4
    আইগেন np.linalg.eig, SVD np.linalg.svd, লিস্ট-স্কোয়ার np.linalg.lstsq
ম্যাট্রিক্স গুণA @ B
np.linalginv, det, solve
eig ও svdআইগেন ও SVD
6

Random Module

Random numbers and simulation.
Advanced
📘 বাংলা: র‍্যান্ডম সংখ্যা ও সিমুলেশন।
🌐 English: Random numbers and simulation.

💡 সিমুলেশন, ডেটা ভাগ, মডেলের শুরুর ওজন—সবখানে র‍্যান্ডম সংখ্যা।

  1. 1
    rng = np.random.default_rng(42) — seed দিলে প্রতিবার একই ফল
  2. 2
    বিতরণ: rng.normal(0,1,100), rng.uniform, rng.integers
  3. 3
    rng.choice দিয়ে নমুনা, rng.permutation দিয়ে এলোমেলো ক্রম
  4. 4
    মন্টে কার্লো: হাজারবার সিমুলেশন করে সম্ভাবনা অনুমান
np.random.default_rngআধুনিক জেনারেটর
বিতরণnormal, uniform, choice
seedপুনরুৎপাদনযোগ্য ফল
💻

হাতে-কলমে কোড · Hands-on code

Run চাপুন — পাইথন আপনার ব্রাউজারেই চলবে (Ctrl+Enter)
import numpy as np
a=np.arange(12).reshape(3,4); print(a)
print("column means:",a.mean(axis=0)); print("a>5:",a[a>5])
print("broadcast +[10,20,30,40]:\n",a+np.array([10,20,30,40]))
rng=np.random.default_rng(42); print("random:",rng.normal(0,1,5).round(2))
📝

অনুশীলন · Practice tasks

  1. ১০×১০ গুণের টেবিল NumPy দিয়ে তৈরি করুন লুপ ছাড়া
  2. একটি অ্যারের সব নেগেটিভ মান 0 করুন
  3. লিনিয়ার সমীকরণ সিস্টেম np.linalg.solve দিয়ে সমাধান
  4. ক্যাপস্টোন: Image as array: flip, crop, brighten
❓

কুইজ · Quick quiz

1. a.shape (3,4) হলে a.T.shape?

2. ভেক্টরাইজেশনের প্রধান সুবিধা?

🎬

ভিডিও লাইব্রেরি · Videos

সাইটের ভেতরে ফ্লোটিং প্লেয়ারে চলবে
এই শাখার ভিডিও এখনো সংরক্ষিত হয়নি। যেকোনো টপিক পেজ খুললে ভিডিও স্বয়ংক্রিয়ভাবে খুঁজে MySQL-এ সংরক্ষিত হবে (API key থাকলে)।

📺 Reference channels

🔗

সংযুক্ত বিষয় · Connected

← আগের শাখা📊 Statisticsপরের শাখা →🐼 Pandas
🎬 Video