def minidataframe_data_appear_valid(minidataframe):
    """  Determines whether MiniDataframe (from observation download) appears valid for use in pylcg.
    :param minidataframe: minidataframe to test [MiniDataframe object].
    :return: True iff minidataframe appears valid for use in pylcg [boolean].
    """
    if minidataframe.ncol() < 20:
        return False
    for column_name in ['uncert', 'JD', 'mag', 'band']:
        if column_name not in minidataframe.column_names():
            return False
    if not isinstance(minidataframe.column('uncert')[0], str):
        return False
    try:
        _ = float(minidataframe.column('uncert')[0])
    except ValueError:
        return False
    return True