Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

df1[df1 > 0] = 'A' é if comprehension?

Olá pessoal. Tudo bem?

Em uma aula o professor mudou todo o valor de um data frame que era maior que 0 para a string A.

Ele usou a seguinte formulá

df1[df1 > 0] = 'A'
df1

Que deu como output:

Coluna 0    Coluna 1    Coluna 2
Linha 0    A    A    A
Linha 1    A    A    A
Linha 2    A    A    A

Minha dúvida é, essa formula é um If Comprehension ? Ql seria a maneira mais "iniciante" de fazer a mesma formulá?

Obrigado e um abraço!

1 resposta
solução!

Olá Leonardo, tudo bem? Espero que sim!

Essa é uma funcionalidade do pacote pandas que utiliza o pacote numpy.

Com o pacote numpy podemos criar arrays (vetores), que são estruturas de dados onde todos os objetos são do mesmo tipo e podemos realizar operações entre arrays termo a termo.

Uma dessas comparações é a comparação. Os arrays precisam ter o mesmo tamanho, ou podemos comparar com uma constante.

Quando realizamos essa comparação, comparamos cada termo do array com o termo correspondente ao outro array. Ou cada termo do array com a constante. O resultado será um array de booleanos, ou seja, valores com True caso a comparação tenha resultado verdadeiro e False caso a comparação tenha resultado falso.

A biblioteca pandas possui os DataFrames, que utilizam os arrays do numpy. No caso do exemplo, estamos comparando um DataFrame com uma constante 0 (df1 > 0). Portanto, cada valor do DataFrame será comparado com 0. Retornando resultado True quando maior que 0 e False quando não for maior.

Esse DataFrame de valores booleanos pode ser usado como um filtro para o DataFrame original, através dos colchetes.

Existem outras formas de fazer essa filtragem, por exemplo através do método query().

Você pode checar mais informações através dos links que deixei ao longo do texto.

Bons estudos!