Python for AI/Pandas/Lesson 45
Filtering
শর্ত দিয়ে row বাছাই — & আর | দিয়ে একাধিক শর্ত, isin, between, str.contains দিয়ে text খোঁজা, sort_values আর nlargest।
- সময়
- 22 মিনিট
- Exercise
- 1
- Challenge
- 1
- Quiz
- 3 প্রশ্ন
সহজ ভাষায়
NumPy-র boolean mask মনে আছে? Pandas-এ হুবহু একই:
শর্ত → True/False-এর Series → সেটা দিয়ে index → শুধু True row-গুলো।
কেন দরকার?
- Data cleaning: অসম্ভব মান (বয়স -5, দাম 0) বাদ দেওয়া
- Analysis: "Dhaka-র ২৫ বছরের নিচের customer-রা কত খরচ করে?"
- Error analysis: "model যেগুলো ভুল করেছে, সেগুলো দেখাও"
- Dataset ভাগ: শুধু নির্দিষ্ট সময় বা অঞ্চলের data দিয়ে model
একাধিক শর্ত
| Python | Pandas | মানে |
|---|---|---|
and | & | দুটোই |
or | | | যেকোনো একটা |
not | ~ | উল্টো |
প্রতিটা শর্ত bracket-এ রাখো।
df["age"] >= 18 & df["city"] == "Dhaka"ভুল ফলাফল দেয়, কারণ&আগে হিসাব হয়।
দরকারি filter method
| Method | উদাহরণ |
|---|---|
isin(list) | city এই তালিকার একটা কিনা |
between(a, b) | a থেকে b (দুই প্রান্ত সহ) |
.str.contains(text) | text-এর ভেতরে আছে কিনা |
.str.startswith / .str.endswith | শুরু / শেষ মেলে কিনা |
.str দিয়ে পুরো column-এ string method — Python-এর string-এর সব method এভাবে vectorized পাওয়া যায়।
sort_values আর nlargest
একাধিক column দিয়ে sort — প্রথমে category, একই category-তে দাম অনুযায়ী।
query: পড়তে সহজ বিকল্প
query-তে সাধারণ and/or লেখা যায়, আর @ দিয়ে বাইরের variable।
Exercise
Exercise
Internship shortlist
students থেকে internship-এর জন্য shortlist বানাও:
- dept CSE বা EEE
- cgpa 3.5 বা বেশি
shortlist = শর্ত মানা student-দের নামের list, cgpa অনুযায়ী বেশি থেকে কম সাজানো।
Quiz
Challenge
Challenge
Product search
একটা e-commerce site-এর search। search(products, keyword, max_price) function লেখো:
- নামে
keywordআছে এমন product (বড়-ছোট হাতের অক্ষর নির্বিশেষে) - দাম
max_priceবা কম - দাম অনুযায়ী কম থেকে বেশি সাজানো
- Return: শুধু
nameআরpricecolumn-ওয়ালা DataFrame, index 0 থেকে নতুন করে
বাস্তবে কোথায় ব্যবহার হয়?
Outlier ধরা — model train করার আগে অস্বাভাবিক মান খুঁজে বের করা। IQR পদ্ধতি, statistics-এর একটা standard কৌশল:
একটা ৯,৫০,০০০ টাকার salary (হয়তো typo, হয়তো CEO) পুরো গড়টাকে প্রায় তিনগুণ করে দিয়েছে। Outlier ঠিকমতো না সামলালে model-ও এভাবে বিভ্রান্ত হয়।
Interview প্রশ্ন
- Beginner: Pandas-এ দুটো শর্ত কীভাবে মেলাবে?
- Intermediate:
isin,between,str.contains— কোনটা কখন? - Advanced: Outlier সবসময় বাদ দেওয়া কি ঠিক? Fraud detection-এ outlier-এর ভূমিকা কী?
এরপর কী?
Real data-র সবচেয়ে বড় মাথাব্যথা — missing value। কিছু ঘর খালি, model সেগুলো নিতে পারে না। পরের lesson: Missing Data।