<jupyter_start><jupyter_text>**Handle Missing Data**<jupyter_code># add pandas dependency
import pandas as pd
# files to load
file_to_load = "Resources/missing_grades.csv"

# read csv file into dataframe
missing_grade_df = pd.read_csv(file_to_load)
missing_grade_df<jupyter_output><empty_output><jupyter_text>*Option 1: Do nothing*If we do nothing, when we sum or take the averages of the reading and math scores, those NaNs will not be considered in the sum or the averages (just as they are not considered in the sum or the averages in an Excel file). In this situation, the missing values have no impact.However, if we multiply or divide with a row that has a NaN, the answer will be NaN. This can cause problems if we need the answer for the rest of our code.  *Option 2: Drop the Row*<jupyter_code># drop the rows
missing_grade_df.dropna()<jupyter_output><empty_output><jupyter_text>*Option 3: Fill in the Row*<jupyter_code># Fill in missing rows with "85"
missing_grade_df.fillna(85)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.07065750736015702, 'fraction_numerical': 0.0068694798822374874, 'mean_word_length': 5.938775510204081, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '665773', 'license': 'MIT', 'n_tokens_mistral': 333, 'n_tokens_neox': 315, 'n_words': 132, 'path': 'cleaning_data.ipynb', 'repo_name': 'apaneser/School_District_Analysis', 'size': '1019'}