def improve_data(data_list: list, non_integers: list) -> list:
    """Takes a list of dictionaries containting the data, make sure all
    dictionaries have the correct data, 0's all missing entries

    Args:
        data_list (list): list of dictionaries containing the data
        non_integers (list): list of headers which should not be converted to
        an integer

    Returns:
        list: improved list of data
    """
    headers = list(data_list[0].keys())

    for data in data_list:
        for header in headers:
            if data[header] == '':
                data[header] = '0'

    for data in data_list:
        for header in headers:
            if header not in non_integers:
                data[header] = str(data[header])
                data[header] = data[header].replace('*', '')
                data[header] = float(data[header])

    return data_list