Data Science

Sorting and Ranking in Pandas

SQL Mastery Team
May 9, 2026
5 min read

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.*

Ready to put your knowledge into practice?

Join SQL Mastery and learn through interactive exercises.