Chapter 11. Filtering and Sorting Rows
Whereas the previous chapter was about columns, this chapter is all about the rows in a DataFrame.1 We’ll mainly look at two types of operations you can perform on rows:
-
Filtering rows using the
df.filter()method -
Sorting rows using the
df.sort()method
With filtering, you select a subset of the rows based on their values. With sorting, you reorder the rows based on their values; the number of rows remains the same. Besides that, we’ll discuss various other methods that are related to filtering and sorting.
You’ll be working with a small DataFrame about power tools that you’d typically find in the garage of an amateur woodworker.
For each tool, we have its type, product code, brand, price, revolutions per minute (RPM), and whether it’s cordless or not.
Here’s what the tools DataFrame looks like:
tools=pl.read_csv("data/tools.csv")tools
shape: (10, 6) ┌───────────────────────┬──────────────┬────────┬──────────┬───────┬───────┐ │ tool │ product │ brand │ cordless │ price │ rpm │ │ --- │ --- │ --- │ --- │ --- │ --- │ │ str │ str │ str │ bool │ i64 │ i64 │ ╞═══════════════════════╪══════════════╪════════╪══════════╪═══════╪═══════╡ │ Rotary Hammer │ HR2230 │ Makita │ false │ 199 │ 1050 │ │ Miter Saw │ GCM 8 SJL │ Bosch │ false │ 391 │ 5500 │ │ Plunge Cut Saw │ DSP600ZJ │ Makita │ true │ 459 │ 6300 │ │ Impact Driver │ DTD157Z │ Makita │ true │ 156 │ 3000 │ │ Jigsaw │ PST 900 PEL │ Bosch │ false │ 79 │ 3100 │ │ Angle Grinder │ DGA504ZJ ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access