Python for AI/Pandas/Lesson 41
Series
Pandas-এর প্রথম building block — label-ওয়ালা একটা column। index, vectorized হিসাব, value_counts, আর NumPy array থেকে কোথায় আলাদা।
- সময়
- 20 মিনিট
- Exercise
- 1
- Challenge
- 1
- Quiz
- 3 প্রশ্ন
সহজ ভাষায়
Pandas হলো table-আকারের data নিয়ে কাজ করার library — Excel-এর মতো, কিন্তু code দিয়ে আর লাখ লাখ row-এ। এর দুটো মূল জিনিস:
- Series — একটা column (আজকের lesson)
- DataFrame — অনেকগুলো Series মিলে একটা table (পরের lesson)
Series দেখতে NumPy array-এর মতো, কিন্তু প্রতিটা মানের একটা label (index) আছে — temps["Mon"]।
কেন দরকার?
Kaggle থেকে শুরু করে বড় কোম্পানির data team — data load, পরিষ্কার, বিশ্লেষণ, আর model-এ দেওয়ার আগের প্রস্তুতি প্রায় সবসময় Pandas-এ। ML engineer-এর সময়ের বড় অংশ যায় model-এ না, data-তে — আর সেটা Pandas।
Series তৈরি
Index না দিলে 0, 1, 2... নিজে থেকে বসে। Dictionary থেকে বানালে key-গুলো index হয়।
NumPy-র মতো vectorized
describe() এক লাইনে count, গড়, std, min, max আর quartile — data-র প্রথম পরিচয়।
Index alignment: Pandas-এর বিশেষ ক্ষমতা
Pandas position না, label মিলিয়ে হিসাব করে:
ক্রম আলাদা হলেও Dhaka-র সাথে Dhaka-ই যোগ হয়েছে। Rajshahi আর Sylhet একটাতে নেই — তাই NaN (Not a Number, অর্থাৎ missing)। fill_value=0 দিলে নেই মানে ধরে নেয় 0।
value_counts আর unique
Text বা category-র column-এ সবচেয়ে কাজের method:
dtype
শেষেরটা খেয়াল করো: একটা missing মান থাকলেই integer column float64 হয়ে যায় — কারণ NaN আসলে একটা float। CSV থেকে data এনে "আমার ID column দশমিক কেন?" — এটাই কারণ।
Pandas 3.0 থেকে text column-এর dtype হলো
str(আগের version-এ ছিলobject)। পুরনো tutorial-এobjectদেখলে বিভ্রান্ত হয়ো না।
Exercise
Exercise
Product-এর দাম
prices একটা Series — index-এ product-এর নাম, মানে দাম।
discounted— সব দামে ১০% ছাড়ের পর নতুন দাম (Series)expensive— ছাড়ের পর যেসব product-এর দাম 1000-এর বেশি, তাদের নামের list
Quiz
Challenge
Challenge
Label distribution
Classification dataset-এ প্রতিটা class কত ভাগ আছে — model বানানোর আগে প্রথম চেক।
label_share(labels, n) function লেখো: labels-এর list নিয়ে সবচেয়ে বেশি আসা nটা label-এর অনুপাত (0 থেকে 1, 2 ঘর দশমিকে round) একটা dict হিসেবে return করবে — বেশি থেকে কম ক্রমে।
বাস্তবে কোথায় ব্যবহার হয়?
Model train করার আগে class imbalance চেক — challenge-এ যা বানালে, তার real ব্যবহার:
Fraud detection, রোগ নির্ণয়, spam — বাস্তবের অনেক সমস্যায় এমন imbalance। এখানে accuracy-র বদলে precision/recall দেখতে হয় (Machine Learning path-এ বিস্তারিত)।
Interview প্রশ্ন
- Beginner: Series কী? Index কী কাজে লাগে?
- Intermediate: দুটো Series যোগ করলে index না মিললে কী হয়? কেন এটা সুবিধা আবার বিপদও?
- Advanced: Missing value থাকলে integer column কেন float হয়ে যায়? Pandas-এর nullable
Int64dtype কী সমাধান দেয়?
এরপর কী?
একটা column বুঝলাম। এবার অনেকগুলো column মিলিয়ে পুরো table — পরের lesson: DataFrame।