def METHOD_NAME(feature_name, df, label, class_list):
    feature_value_list = df[feature_name].unique()
    row = df.shape[0]
    feature_info = 0.0
    for feature_value in feature_value_list:
        feature_value_data = df[df[feature_name] == feature_value] 
        feature_value_count = feature_value_data.shape[0]
        feature_value_entropy = feature_entropy(feature_value_data, label, class_list)
        feature_value_probability = feature_value_count/row
        feature_info += feature_value_probability * feature_value_entropy 
    return total_entropy(df, label, class_list) - feature_info