import pandas as pd
import numpy as np
print(f"pandas version: {pd.__version__}")
print(f"numpy version: {np.__version__}")
print(f"\nβ
pandas is ready to use!")
# Quick test - Create a simple DataFrame
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 35, 28],
'City': ['NYC', 'SF', 'LA', 'Chicago'],
'Salary': [70000, 85000, 92000, 78000]
})
print("\nSample DataFrame:")
print(df)
print(f"\nShape: {df.shape}")
print(f"Columns: {list(df.columns)}")
print(f"\nπ You're ready to start learning pandas!")
π What Youβll LearnΒΆ
Core SkillsΒΆ
β Reading data from CSV, Excel, JSON, SQL
β Data cleaning (missing values, duplicates, formatting)
β Filtering, sorting, and selection
β GroupBy operations and aggregations
β Merging, joining, and concatenating DataFrames
β DateTime manipulation and time series
β String operations and text processing
β Data visualization with pandas
Advanced SkillsΒΆ
β MultiIndex and hierarchical data
β Custom aggregation functions
β Window functions and rolling operations
β Performance optimization
β Memory-efficient operations
β Method chaining and .pipe()
π‘ Pro Tips for SuccessΒΆ
1. Practice DailyΒΆ
# 30-60 minutes daily > 3 hours on weekends
# Consistency builds muscle memory
2. Type, Donβt CopyΒΆ
# Typing code builds understanding
# Copy-paste doesn't stick
3. Use DocumentationΒΆ
# In Jupyter:
df.groupby? # Shows documentation
4. ExperimentΒΆ
# Modify examples
# Break things (safely)
# Understand WHY it works
5. Benchmark PerformanceΒΆ
# Compare different approaches
%timeit df.groupby('column').sum()
6. Read Error MessagesΒΆ
# Errors are learning opportunities
# Read them carefully
# Google specific error messages
π Essential pandas OperationsΒΆ
Must-Know MethodsΒΆ
Selection:
df.loc[row, column] # Label-based
df.iloc[0, 0] # Position-based
df[df['Age'] > 25] # Boolean indexing
df.query('Age > 25') # SQL-like syntax
GroupBy:
df.groupby('column').sum()
df.groupby('column').agg({'col1': 'mean', 'col2': 'sum'})
df.groupby(['col1', 'col2']).size()
Merging:
pd.merge(df1, df2, on='key')
df1.join(df2)
pd.concat([df1, df2])
Missing Data:
df.isna() # Check for NaN
df.fillna(0) # Fill with value
df.dropna() # Drop rows with NaN
df.fillna(method='ffill') # Forward fill
π Progress TrackingΒΆ
Track Your JourneyΒΆ
Week 1-3: Basics β
Completed Pandas 101 series
Finished DataFrames I-III
Solved first 30 puzzles
Week 4-8: Intermediate β
All 02-intermediate notebooks
Completed 100 pandas puzzles
Topics 01-05 exercises
Week 9-12: Advanced β
Topics 06-11 exercises
pandas-cookbook recipes
Both real-world projects
π Additional ResourcesΒΆ
Official DocumentationΒΆ
BooksΒΆ
Python for Data Analysis by Wes McKinney (pandas creator)
Free online version available!
Practice DatasetsΒΆ
Kaggle - Thousands of datasets
π Collection StatisticsΒΆ
Total Notebooks: 151
Exercise Sets: 100+ puzzles + 11 topic categories
Real Projects: 2 complete analyses
Datasets: 20+ CSV/Excel files
Total Size: 173 MB
π Ready to Begin?ΒΆ
Next Steps:ΒΆ
Choose your path above (Beginner, Intermediate, or Advanced)
Read the README.md for detailed topic coverage
Start with: Pandas 101 - Series and Dataframes
Remember:ΒΆ
Start slow, build solid foundations
Practice daily for best results
Donβt skip exercises
Apply to real data when possible
Good luck on your pandas journey! πΌ