# Assert that there are no missing values
assert pd.notnull(ebola).all().all() #assert ebola.notnull().all().all() #The first .all() method will return a True or False for each column, while the second .all() method will return a single True or False.
assert (ebola >= 0).all().all() # Assert that all values are >= 0
assert pd.notnull(gapminder.country).all() # Assert that country does not contain any missing values
assert pd.notnull(gapminder.year).all() # Assert that year does not contain any missing values
gapminder = gapminder.dropna() # Drop the missing values
print(gapminder.shape) # Print the shape of gapminder
gapminder.year = pd.to_numeric(gapminder.year, errors='coerce') # Convert the year column to numeric
assert gapminder.country.dtypes == np.object # Test if country is of type object
assert gapminder.year.dtypes == np.int64 # Test if year is of type int64
assert gapminder.life_expectancy.dtypes == np.float64 # Test if life_expectancy is of type float64