def clean_data(df):
    """
    Returns the cleaned data frame with no missing or duplicated values
    
    Paramenters:
        df (pandas DataFrame): The returned data frame from load_data()
    
    Returns:
        df (pandas DataFrame): cleaned data
    
    """
    df.drop('original',axis=1, inplace=True)
    df.dropna(inplace=True)
    category_colnames = ['related','request','offer','aid_related','medical_help',
                         'medical_products', 'search_and_rescue','security', 'military','child_alone',
                         'water','food','shelter','clothing','money',
                         'missing_people','refugees','death','other_aid','infrastructure_related',
                         'transport', 'buildings', 'electricity', 'tools', 'hospitals',
                         'shops', 'aid_centers', 'other_infrastructure', 'weather_related', 'floods',
                         'storm', 'fire', 'earthquake', 'cold', 'other_weather', 'direct_report'
                         ]
    df[category_colnames] = df[category_colnames].astype(int)    
    #Remove duplicates
    df = df.drop_duplicates()
    return df