def _drop_unnecessary_columns(data):
    """ Drop all columns with nan values, with constant values or defined as irrelevant during the data analysis.

    :param data: Data to drop the columns from
    :return: The given data without the columns
    """
    cols_nan = ['sensor_measurement_22', 'sensor_measurement_23']
    cols_const = [
        'operational_setting_3',
        'sensor_measurement_1',
        'sensor_measurement_5',
        'sensor_measurement_6',
        'sensor_measurement_10',
        'sensor_measurement_16',
        'sensor_measurement_18',
        'sensor_measurement_19',
        'sensor_measurement_22',
        'sensor_measurement_23'
    ]
    cols_irrelevant = [
        'operational_setting_1',
        'operational_setting_2',
        'sensor_measurement_11',
        'sensor_measurement_12',
        'sensor_measurement_13'
    ]

    return data.drop(columns=cols_const + cols_nan + cols_irrelevant)