1
resposta

Dúvida - Como transformar o DF em um retorno booleano

O retorno da função que o instrutor criou é um datframe com os outliers. Como eu posso transformar esse dataframe em um retorno booleano ou então, obter o "index" desses dados para facilitar exclui-los com o método drop?

1 resposta

Oi Gabriel, tudo bem?

Para transformar um DataFrame com outliers em um retorno booleano ou obter os índices desses dados, você pode seguir os passos abaixo. Vou te mostrar como fazer isso utilizando o método do intervalo interquartil (IQR) para identificar os outliers.

Primeiro, vamos criar a função para identificar os outliers:

import pandas as pd

def identificar_outliers(df, coluna):
    Q1 = df[coluna].quantile(0.25)
    Q3 = df[coluna].quantile(0.75)
    IQR = Q3 - Q1

    # Criando uma condição booleana para identificar os outliers
    condicao_outliers = (df[coluna] < (Q1 - 1.5 * IQR)) | (df[coluna] > (Q3 + 1.5 * IQR))
    
    return condicao_outliers

Com essa função, você pode obter uma série booleana que indica quais linhas são outliers. Para aplicá-la ao seu DataFrame e coluna específica, você pode executar o código:

#Exemplo com a coluna 'Valor da transação'
outliers_booleanos = identificar_outliers(df, 'Valor da transação')

# Exibindo os índices dos outliers
indices_outliers = df[outliers_booleanos].index

print("Índices dos outliers:", indices_outliers)

Com outliers_booleanos, você tem uma série booleana que pode ser usada diretamente para filtrar o DataFrame ou para outras operações. E com indices_outliers, você tem os índices dos outliers, que podem ser usados, por exemplo, com o método drop para removê-los:

# Removendo os outliers do DataFrame
df_sem_outliers = df.drop(indices_outliers)

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!