Skip to main content
Brave Programmer Logo

BraveProgrammer

BraveProgrammer

HomeProjectsBlogsCoursesLessonsAbout

Site footer

BraveProgrammer

Free coding courses, practical tutorials, and real projects from BraveProgrammer. Learn web development with React, Next.js, and TypeScript.

Navigation

  • Home
  • Projects
  • Blogs
  • Courses

Resources

  • About
  • Lessons

© 2026 BraveProgrammer. All rights reserved.

  1. Courses
  2. /
  3. Master Data Science with Python

Lesson 43 of 60 · python

Removing Duplicates and Detecting Outliers

Duration: 20 minutes

Duplicates & Outliers

Cleaning often begins with de‑duplication and outlier detection.

Removing duplicate rows

duplicates = df.duplicated(subset=['id'], keep='first')
print('Duplicate rows:', duplicates.sum())

df_clean = df.drop_duplicates(subset=['id'], keep='first')

Detecting outliers with Z‑score

from scipy import stats
numeric_cols = df.select_dtypes('number').columns
z_scores = np.abs(stats.zscore(df[numeric_cols]))
outliers = (z_scores > 3).any(axis=1)
print('Outlier rows:', df[outliers].index.tolist())

Removing outliers (optional)

df_no_outliers = df[~outliers]

Using IQR (Inter‑Quartile Range)

Q1 = df['price'].quantile(0.25)
Q3 = df['price'].quantile(0.75)
IQR = Q3 - Q1
filter = (df['price'] >= Q1 - 1.5*IQR) & (df['price'] <= Q3 + 1.5*IQR)
df_filtered = df[filter]

Visual check with boxplot

sns.boxplot(x=df['price'])
plt.show()

Info

Be cautious when removing outliers; they may represent rare but important cases (e.g., fraud detection).

Previous: Handling Missing Values: Imputation StrategiesNext: Feature Scaling: Normalization and Standardization