def obter_correlation(df, min_threshold=-0.8, max_threshold=0.8, tipo_retorno=2):
   
    """    
        Descrição: Função para obter correlação entre colunas dataframe.

        Params:
            df: Dados de entrada.

            tipo_retorno: criterio de retoro da função. (default: 2) 

            min_threshold: Valor mínimo correlação. (default: -0.8)

            max_threshold:  Valor máximo correlação. (default: 0.8)

        return: 
            tipo_retorno = 0 >> colunas com correlação alta.
            tipo_retorno = 1 >> colunas sem correlação.
            tipo_retorno = 2 >> dataframe sem correlação.
    """

    col_corr = []
    corr_matrix = df.corr()

    for i in range(len(corr_matrix.columns)):
        for j in range(i):
            if corr_matrix.iloc[i, j] <= min_threshold or corr_matrix.iloc[i, j] >= max_threshold:
                colname = corr_matrix.columns[i]
                col_corr.append(colname)
    
    df_out = df.drop(columns=set(col_corr), inplace=False)
    
    if tipo_retorno == 0:
        return set(col_corr)
    elif tipo_retorno == 1:
        return df_out.columns.tolist()
    elif tipo_retorno == 2:
        return df_out