Sorting and Ranking in Pandas
It's **Day 108**. Today we organize our data. In SQL, we use `ORDER BY`. In Pandas, we use `sort_values`.
Basic Sorting
# Sort by revenue (Ascending by default)
df_sorted = df.sort_values('revenue')
# Sort by revenue (Highest first)
df_top = df.sort_values('revenue', ascending=False)
Sorting by Multiple Columns
# Sort by country, then by revenue
df_complex = df.sort_values(['country', 'revenue'], ascending=[True, False])
Ranking
Remember those window functions (Day 62)?
# Add a rank column
df['rank'] = df['revenue'].rank(ascending=False)
Pandas `rank` also handles ties with options like `method='dense'` or `method='min'`, exactly like the SQL counterparts we mastered in Phase 5!
Your Task for Today
Sort your DataFrame by two columns and then create a rank column based on a numerical value.
*Day 109: Grouping and Aggregating Data.*