Only this week, get the SQL Complete Track of 9 courses in a special prize of $330 $89!
What DataFrames are
DataFrame columns
DataFrame rows
Filtering rows and columns
Filtering data frames
26. Filtering rows – multiple conditions
Sorting rows


Great! We can also use multiple conditions when filtering our DataFrames with the help of the logical operators AND (&) and OR (|).

hospitals[(hospitals['State'] == 'WA') | (hospitals['State'] == 'PA')]

The expression above will show only those hospitals that are either in Pennsylvania (PA) or Washington (WA). Note that each condition is wrapped in parentheses.

Usually, it is more readable to assign each condition to a particular variable, for the sake of clarity. Suppose we want to get hospitals that are in South Carolina with a rating of 4 or better. We could write:

sc_hospitals = hospitals['State'] == 'SC'
good_hospitals = hospitals['Hospital overall rating'] > 3
hospitals[sc_hospitals & good_hospitals]


For every country in the eu_states DataFrame, show only those countries that use the Euro as their main currency, and were accepted into European Union before the year 2000.

The information about join date is in the Accession Year column.

Stuck? Here's a hint!

You can create two helper variables, each holding a given condition:

accession_year = eu_states['Accession Year'] < 2000
currency = eu_states['Currency'] == 'Euro'

Then, simply filter by these two variables:

eu_states[accession_year & currency]