What I do
- Clean and transform messy datasets
- Handle missing and duplicate data
- Merge and join multiple data sources
- Reshape data between formats
- Parse unstructured data
- Feature engineering for ML
- Validate data quality
When to use me
Use me when:
- Raw data needs cleaning and preparation
- Combining data from multiple sources
- Transforming data structures
- Preparing data for analysis or ML
- Handling data quality issues
Key Concepts
Data Wrangling Operations
import pandas as pd
# Loading various formats
df = pd.read_csv("data.csv")
df = pd.read_json("data.json")
df = pd.read_sql(query, connection)
# Basic cleaning
df.drop_duplicates(inplace=True)
df.dropna(thresh=len(df) * 0.5, inplace=True)
df.fillna({"column": "default"}, inplace=True)
# Transformations
df["date"] = pd.to_datetime(df["date"])
df["category"] = df["category"].str.lower().str.strip()
df["price"] = df["price"].str.replace("$", "").astype(float)
# Reshaping
pivot = df.pivot_table(
values="sales",
index="region",
columns="quarter",
aggfunc="sum"
)
# Melting for tidy format
tidy = pd.melt(df,
id_vars=["id"],
value_vars=["q1", "q2", "q3", "q4"],
var_name="quarter",
value_name="sales"
)
# Merging
merged = pd.merge(
customers, orders,
on="customer_id",
how="left"
)
Handling Missing Data
- Drop: Remove rows/columns with missing values
- Impute: Fill with mean, median, mode
- Forward/Backward Fill: Time series interpolation
- Predict: Use ML model to predict missing
Data Quality Checks
- Schema validation
- Range checks for numeric values
- Uniqueness constraints
- Referential integrity
- Cross-field validation
1---2name: data-wrangling3description: Data wrangling and transformation4license: MIT5---67## What I do89- Clean and transform messy datasets10- Handle missing and duplicate data11- Merge and join multiple data sources12- Reshape data between formats13- Parse unstructured data14- Feature engineering for ML15- Validate data quality1617## When to use me1819Use me when:20- Raw data needs cleaning and preparation21- Combining data from multiple sources22- Transforming data structures23- Preparing data for analysis or ML24- Handling data quality issues2526## Key Concepts2728### Data Wrangling Operations29```python30import pandas as pd3132# Loading various formats33df = pd.read_csv("data.csv")34df = pd.read_json("data.json")35df = pd.read_sql(query, connection)3637# Basic cleaning38df.drop_duplicates(inplace=True)39df.dropna(thresh=len(df) * 0.5, inplace=True)40df.fillna({"column": "default"}, inplace=True)4142# Transformations43df["date"] = pd.to_datetime(df["date"])44df["category"] = df["category"].str.lower().str.strip()45df["price"] = df["price"].str.replace("$", "").astype(float)4647# Reshaping48pivot = df.pivot_table(49 values="sales", 50 index="region", 51 columns="quarter", 52 aggfunc="sum"53)5455# Melting for tidy format56tidy = pd.melt(df, 57 id_vars=["id"], 58 value_vars=["q1", "q2", "q3", "q4"],59 var_name="quarter", 60 value_name="sales"61)6263# Merging64merged = pd.merge(65 customers, orders, 66 on="customer_id", 67 how="left"68)69```7071### Handling Missing Data72- **Drop**: Remove rows/columns with missing values73- **Impute**: Fill with mean, median, mode74- **Forward/Backward Fill**: Time series interpolation75- **Predict**: Use ML model to predict missing7677### Data Quality Checks78- Schema validation79- Range checks for numeric values80- Uniqueness constraints81- Referential integrity82- Cross-field validation