To filter rows, you write a condition about a column. pandas checks it for every row and returns a Series of True and False values, called a mask:
df["region"] == "West"
Put the mask inside df[...] and you get only the rows where it's True:
df[df["region"] == "West"]
The comparisons are == (equal), != (not equal), >, >=, < and <=. Use two equals signs to compare; one equals sign stores a value. Text must match exactly, capitals included, so "west" finds nothing.
The rows keep their original index labels, which is why the numbers on the left skip. To count the matches, wrap the result in len(...).
df.query("revenue > 300") does the same filter written as a string. Both are fine; this course mostly uses masks because they work everywhere.