← Portfolio-তে ফিরুন

🐼 প্যান্ডাস দিয়ে ডেটা অ্যানালাইসিস

সম্পূর্ণ বাংলা গাইড — Google Colab-এ হাতেকলমে শিখুন

🎬 ভিডিও টিউটোরিয়াল

বাংলা ভিডিও ব্যাখ্যা — নিচের পুরো গাইডের ভিজ্যুয়াল সংস্করণ।

১. প্যান্ডাস কী?

প্যান্ডাস (pandas) হলো পাইথনের সবচেয়ে জনপ্রিয় ডেটা অ্যানালাইসিস লাইব্রেরি। এর দুটো মূল জিনিস:

💡 মনে রাখুন: df মানে DataFrame — সব টিউটোরিয়ালে এই নামই ব্যবহার হয়।

২. শুরু করা

Google Colab-এ প্যান্ডাস আগে থেকেই ইনস্টল করা থাকে। শুধু import করলেই হবে:

import pandas as pd

নিজের কম্পিউটারে হলে একবার ইনস্টল করে নিন:

# টার্মিনালে লিখুন (Colab-এ ! চিহ্ন দিয়ে)
!pip install pandas

৩. ডেটাফ্রেম তৈরি করা

ডিকশনারি থেকে সবচেয়ে সহজে বানানো যায় — চাবি হয় কলামের নাম:

data = {'name': ['Rahim', 'Karim', 'Sumi'],
        'city': ['Dhaka', 'Tangail', 'Dhaka'],
        'sales': [500, 800, 650]}
df = pd.DataFrame(data)
print(df)

৪. CSV / Excel ফাইল পড়া

বাস্তবে ডেটা ফাইলে থাকে। এক লাইনেই পড়া যায়:

df = pd.read_csv('sales.csv')      # CSV ফাইল
df = pd.read_excel('sales.xlsx')   # Excel ফাইল
💡 Colab-এ ফাইল upload করতে বাম পাশের 📁 folder আইকনে ক্লিক করুন।

৫. ডেটাকে চেনা (প্রথম ৫ মিনিটের কাজ)

ডেটা হাতে পেয়েই এগুলো চালান:

df.head()       # প্রথম ৫টা রো দেখুন
df.tail()       # শেষ ৫টা রো
df.shape        # (রো সংখ্যা, কলাম সংখ্যা)
df.columns      # কলামের নামগুলো
df.info()       # কোন কলামে খালি ঘর আছে
df.describe()   # গড়, min, max — সারসংক্ষেপ

৬. কলাম ও রো বাছাই

df['sales']            # শুধু sales কলাম
df[['name', 'sales']]  # একাধিক কলাম
df.iloc[0]             # প্রথম রো (position দিয়ে)
df.iloc[0:3]           # প্রথম ৩টা রো

৭. শর্ত দিয়ে ফিল্টার ⭐

সবচেয়ে মজার অংশ — শর্ত লিখলেই মিলে যাওয়া রো পাবেন:

df[df['sales'] > 600]                  # বিক্রি ৬০০-এর বেশি
df[df['city'] == 'Dhaka']              # শুধু ঢাকার রো
df[(df['sales'] > 600) &
   (df['city'] == 'Dhaka')]            # দুটো শর্ত একসাথে
💡 খেয়াল করুন: শর্তের দুই পাশে () ব্র্যাকেট দিতে হয়, আর & মানে "এবং"।

৮. সাজানো (Sorting)

df.sort_values('sales')                    # ছোট → বড়
df.sort_values('sales', ascending=False)   # বড় → ছোট

৯. গ্রুপ করে হিসাব (GroupBy) ⭐

রিপোর্ট বানানোর সবচেয়ে কাজের ফাংশন:

df.groupby('city')['sales'].sum()    # প্রতি শহরের মোট বিক্রি
df.groupby('city')['sales'].mean()   # প্রতি শহরের গড় বিক্রি
df.groupby('city').size()            # প্রতি শহরে কতগুলো রো

১০. গণনা এক লাইনে

df['city'].value_counts()   # কোন শহর কতবার এসেছে

১১. খালি ঘর সামলানো

বাস্তব ডেটায় খালি ঘর থাকবেই:

df.isnull().sum()   # কোন কলামে কতগুলো খালি
df.dropna()         # খালি ঘরওয়ালা রো বাদ দিন
df.fillna(0)        # খালি ঘরে ০ বসান

১২. নতুন কলাম বানানো

df['bonus'] = df['sales'] * 0.1       # বিক্রির ১০% বোনাস
df['big_sale'] = df['sales'] > 600    # True/False কলাম

১৩. ফলাফল সেভ করা

df.to_csv('clean_sales.csv', index=False)
df.to_excel('report.xlsx', index=False)

১৪. পুরো উদাহরণ — দোকানের হিসাব

import pandas as pd

# ১. ফাইল পড়ুন
df = pd.read_csv('sales.csv')

# ২. ডেটা চিনুন
print(df.shape)
print(df.describe())

# ৩. গড় বিক্রি কত?
print("গড় বিক্রি:", df['sales'].mean())

# ৪. কোন পণ্য সবচেয়ে বেশি বিক্রি?
print(df.groupby('product')['sales'].sum()
        .sort_values(ascending=False))

# ৫. কম বিক্রির দিনগুলো
low = df[df['sales'] < 300]
print(low)

# ৬. পরিষ্কার ডেটা সেভ
df.to_csv('clean_sales.csv', index=False)

১৫. চর্চার কাজ ✍️

কাজ ১: নিজের নাম, ৩ বন্ধুর নাম-শহর দিয়ে একটা DataFrame বানান। df.describe() চালিয়ে দেখুন কী আসে।
কাজ ২: df[df['city'] == 'Dhaka'] — নিজের শহরের নাম বসিয়ে ফিল্টার করুন।
কাজ ৩: groupby দিয়ে বের করুন — আপনার টেবিলে কোন শহরের মোট sales বেশি?

⚡ Cheat Sheet

কাজকোড
ফাইল পড়াpd.read_csv()
প্রথম রো দেখাdf.head()
সারসংক্ষেপdf.describe()
ফিল্টারdf[df['x'] > 5]
গ্রুপ হিসাবdf.groupby('x')['y'].sum()
গণনাdf['x'].value_counts()
সাজানোdf.sort_values('x')
খালি বাদdf.dropna()
সেভdf.to_csv()