def drop_columns(df):
    """This function drops certain columns from the DataFrame

    :param df: DataFrame
    :type df: pandas DataFrame
    :return: DataFrame
    :rtype: pandas DataFrame
    """

    drop_cols = [
        "Type",
        "U_PV_min",
        "U_PV_nom",
        "U_PV_max",
        "U_MPP_min",
        "U_MPP_max",
        "U_BAT_min",
        "U_BAT_nom",
        "U_BAT_max",
        "P_PV2AC_in",
        "P_PV2AC_out",
        "P_PV2AC_out_AC",
        "p_PV2AC_5",
        "p_PV2AC_10",
        "p_PV2AC_20",
        "p_PV2AC_25",
        "p_PV2AC_30",
        "p_PV2AC_50",
        "p_PV2AC_75",
        "p_PV2AC_100",
        'eta_PV2AC_5',
        'eta_PV2AC_10',
        'eta_PV2AC_20',
        'eta_PV2AC_25',
        'eta_PV2AC_30',
        'eta_PV2AC_50',
        'eta_PV2AC_75',
        'eta_PV2AC_100',
        'p_PV2BAT_5',
        'p_PV2BAT_10',
        'p_PV2BAT_20',
        'p_PV2BAT_25',
        'p_PV2BAT_30',
        'p_PV2BAT_50',
        'p_PV2BAT_75',
        'p_PV2BAT_100',
        'eta_PV2BAT_5',
        'eta_PV2BAT_10',
        'eta_PV2BAT_20',
        'eta_PV2BAT_25',
        'eta_PV2BAT_30',
        'eta_PV2BAT_50',
        'eta_PV2BAT_75',
        'eta_PV2BAT_100',
        'p_AC2BAT_5',
        'p_AC2BAT_10',
        'p_AC2BAT_20',
        'p_AC2BAT_25',
        'p_AC2BAT_30',
        'p_AC2BAT_50',
        'p_AC2BAT_75',
        'p_AC2BAT_100',
        'eta_AC2BAT_5',
        'eta_AC2BAT_10',
        'eta_AC2BAT_20',
        'eta_AC2BAT_25',
        'eta_AC2BAT_30',
        'eta_AC2BAT_50',
        'eta_AC2BAT_75',
        'eta_AC2BAT_100',
        'p_BAT2AC_5',
        'p_BAT2AC_10',
        'p_BAT2AC_20',
        'p_BAT2AC_25',
        'p_BAT2AC_30',
        'p_BAT2AC_50',
        'p_BAT2AC_75',
        'p_BAT2AC_100',
        'eta_BAT2AC_5',
        'eta_BAT2AC_10',
        'eta_BAT2AC_20',
        'eta_BAT2AC_25',
        'eta_BAT2AC_30',
        'eta_BAT2AC_50',
        'eta_BAT2AC_75',
        'eta_BAT2AC_100',
        'p_BAT2PV_5',
        'p_BAT2PV_10',
        'p_BAT2PV_20',
        'p_BAT2PV_25',
        'p_BAT2PV_30',
        'p_BAT2PV_50',
        'p_BAT2PV_75',
        'p_BAT2PV_100',
        'eta_BAT2PV_5',
        'eta_BAT2PV_10',
        'eta_BAT2PV_20',
        'eta_BAT2PV_25',
        'eta_BAT2PV_30',
        'eta_BAT2PV_50',
        'eta_BAT2PV_75',
        'eta_BAT2PV_100',
        "eta_BAT_100",
        "eta_BAT_50",
        "eta_BAT_25",
        "E_BAT_100",
        "E_BAT_50",
        "E_BAT_25",
        'ref_1',
        'ref_2',
        'Man3',
        'Pro3',
        'Info',
        'Cat'
    ]

    df = df.drop(drop_cols, axis=1)

    return df