Home › Roadmap › Data Cleaning & EDA › Part 3

Duplicate Handling

📘 ডুপ্লিকেট রেকর্ড সরানো।

🌐 Remove duplicate records.

🧹 ডেটা ক্লিনিং ও EDA🎚 Intermediate📍 Part 3 / 6🧩 3 সাব-টপিক
🧹
1

ধারণা · Concept

কী এবং কেন
📘 বাংলা ব্যাখ্যা:
ডুপ্লিকেট রেকর্ড সরানো।
🌐 English:
Remove duplicate records.

🗂 কোথায় পড়ে

২. ডেটা বিশ্লেষণ → ডেটা ক্লিনিং ও EDA → Duplicate Handling

🎯 এই শাখার লক্ষ্য

Detect outliers, fix missing values, profile data

🧰 টুলস

pandas, ydata-profiling

🪜

ধাপে ধাপে শিখুন · Step-by-step

কেন শিখবেন → কীভাবে শিখবেন → উদাহরণ → সাধারণ ভুল
💡 কেন গুরুত্বপূর্ণ?

ডুপ্লিকেট রেকর্ড গণনা ফুলিয়ে দেয় ও মডেলে লিকেজ ঘটায়।

  1. ধাপ 1
    সম্পূর্ণ ডুপ্লিকেট: df.duplicated().sum()
  2. ধাপ 2
    নির্দিষ্ট কলামে: df.duplicated(subset=["patient_id","date"])
  3. ধাপ 3
    কোনটা রাখবেন: drop_duplicates(keep="first"/"last") — সর্বশেষ আপডেট রাখতে sort করে last
  4. ধাপ 4
    আংশিক মিল (নামের বানান ভিন্ন): fuzzy matching (rapidfuzz)

🧪 বাস্তব উদাহরণ

একই রোগী দুই হাসপাতালে নিবন্ধিত—ID ও জন্মতারিখ মিলিয়ে একটি রাখা।

⚠️ সাধারণ ভুল

শুধু সম্পূর্ণ ডুপ্লিকেট খোঁজা—স্পেস/কেসের পার্থক্যে ডুপ্লিকেট থেকে যায়।

🔑 মূল শব্দ (Key terms)

duplicateddrop_duplicatessubsetfuzzy matchingdeduplication

3

সাব-টপিক ও বিস্তারিত · Sub-topics

টপিক → সাব-টপিক → সাব-সাব টপিক
3.1 শনাক্ত3.1.1 df.duplicated()
3.2 বাদ3.2.1 drop_duplicates(subset=...)
3.3 আংশিক ডুপ্লিকেট3.3.1 ফাজি ম্যাচিং
🎬

ভিডিও · Videos (বাংলা ও English)

ক্লিক করলে সাইটের ভেতরেই ফ্লোটিং প্লেয়ারে চলবে · ভিডিও MySQL-এ সংরক্ষিত

📺 আরও খুঁজুন

💻

হাতে-কলমে · Try it (Data Cleaning & EDA)

এডিট করে Run চাপুন · Ctrl+Enter
import pandas as pd, numpy as np
df=pd.DataFrame({"age":[25,27,np.nan,29,200,26,27],"city":["Dhaka","dhaka ","Sylhet","Sylhet","Dhaka",None,"dhaka "]})
df["city"]=df.city.str.strip().str.title()
q1,q3=df.age.quantile([.25,.75]); iqr=q3-q1
out=(df.age<q1-1.5*iqr)|(df.age>q3+1.5*iqr); print("Outliers:\n",df[out])
df.loc[out,"age"]=np.nan; df["age"]=df.age.fillna(df.age.median())
print(df.drop_duplicates()); print("Missing:\n",df.isna().sum())
❓

সেল্ফ-চেক · Self check

1. “df.duplicated()” — এটি কোন সাব-টপিকের বর্ণনা?

2. “drop_duplicates(subset=...)” — এটি কোন সাব-টপিকের বর্ণনা?

3. “ফাজি ম্যাচিং” — এটি কোন সাব-টপিকের বর্ণনা?

🔗

সংযুক্ত কনসেপ্ট · Connected concepts

← আগের টপিকOutlier Detectionপরের টপিক →Exploratory Data Analysis
🎬 Video