Topics in this subject
Pandas 1 min read Updated 4 Aug 2026

8. Sorting

df.sortvalues('age') # ascending

df.sort_values('age')                       # ascending
df.sort_values('age', ascending=False)
df.sort_values(['city', 'age'],             # multi-key
               ascending=[True, False])
df.sort_index()                             # sort by row labels
df.nlargest(3, 'salary')                    # top 3 (faster than sort+head)
df.nsmallest(3, 'salary')

💡 Tip: nlargest/nsmallest are faster and clearer than sort_values(...).head(n) for top-k.

⚠️ Common Mistake: sort_values returns a copy by default. Reassign or use it in a chain.