def min_max_mean_total_feature(feature_list):
    """
    This method calculates the min, max, mean and sum value of a characteristic list.

    Used in conjunction with packet count and packet length base netflow features

    :param feature_list: List of netflow characteristics values
    :return: A list containing min, max, mean and sum value of characteristic list
    """
    if feature_list == []:
        feature_list = [0]
    feature_min = min(feature_list)
    feature_max = max(feature_list)
    feature_total = sum(feature_list)
    feature_mean = feature_total / len(feature_list)

    return [feature_min, feature_max, feature_mean, feature_total]