1
resposta

Dúvidas Exercicio Aula 6

Time, Bom Dia. Tenho duas dúvidas:

1) Por que a sintaxe abaixo coloca o caractere %, se as notas são número absolutos?

print("Nota média do Toy Story %.2f" % notas_do_toy_story.nota.mean())

2) Por que preciso usar o "in" na sintaxe abaixo? Sempre vai ser esse formato quanto eu quiser plotar querry de duas ou mais séries: "coluna xpto in (1,2..)")...

sns.boxplot(x = "filmeId", y = "nota", data = notas.query("filmeId in (1,2)"))

Obrigada e boa semana a todos.

1 resposta

Booom diaaa, Thais! Como está?

Vamos lá.

1) Por que a sintaxe abaixo coloca o caractere %, se as notas são número absolutos?

O caractere "%" nesse caso, não é utilizado com o intuito de representar uma porcentagem. Ele é utilizado na função print para indicar como você deseja printar o conteúdo de uma detarminada variável. Então, quando fazemos:

print("Nota média do Toy Story %.2f" % notas_do_toy_story.nota.mean())

Com o primeiro "%" que aparece em %.2f, estamos indicando que, após a frase Nota média do Toy Story queremos apresentar um valor numérico do tipo float (por isso o f) limitado em duas casas após a vírgula (por isso o .2). Já o segundo "%" que aparece em % notas_do_toy_story.nota.mean(), está especificando o valor que queremos mostrar naquele formato definido anteriormente, por meio do primeiro símbolo de porcentagem.

De todo modo, existem outras formas de formatação no print, que são normalmente mais utilizadas. Vou te apresentar duas delas aqui:

a) Utilizando o format:

print('Nota média do Toy Story {:.2f}'.format(notas_do_toy_story.nota.mean()))

b) Utilizando f-strings:

print(f'Nota média do Toy Story {notas_do_toy_story.nota.mean():.2f}')

Fazendo de qualquer uma dessas fomas você deve obter o mesmo resultado. São apenas diferentes maneiras de utilizar a formatação no método print :)

2) Por que preciso usar o "in" na sintaxe abaixo? Sempre vai ser esse formato quanto eu quiser plotar querry de duas ou mais séries: "coluna xpto in (1,2..)")...

sns.boxplot(x = "filmeId", y = "nota", data = notas.query("filmeId in (1,2)"))

Nesse trecho, o in é utilizado para especificar ao método query os dados que você deseja selecionar no seu dataframe. Ao fazer notas.query("filmeId in (1,2)") estamos especificando que, do dataframe notas desejamos selecionar apenas os dados nos quais a coluna filmeId seja igual a 1 ou 2.

Então, o trecho de código notas.query("filmeId in (1,2)"), de forma resumida, significa: Do dataframe notas, quero selecionar apenas os dados onde a coluna filmeId for igual a 1 ou 2. E esse código te retorna um dataframe apenas com a seleção que você especificou:

Dataframe resultante da seleção mostrada com o método query acima, onde são apresentadas apenas as linhas onde a coluna filmeId é igual a 1 ou 2

Outra forma de fazer essa mesma seleção seria a seguinte:

notas.query("filmeId == 1 or filmeId == 2")

O uso do in não é sempre obrigatório ao utilizar o método query, tudo vai depender do tipo de seleção que você deseja fazer. Por exemplo, suponhamos que você deseja selecionar os dados apenas onde a coluna nota for maior que 4.0, dessa forma, você poderia fazer o seguinte:

notas.query("nota > 4.0")

Assim, você obterá como resposta um dataframe respeitando a seleção que você solicitou:

Dataframe resultante da seleção mostrada com o método query acima, onde são apresentadas apenas as linhas onde a coluna nota é maior que 4.0

Então, utilizando o método query, você pode fazer diversas seleções. Caso queira entender um pouco mais sobre seu funcionamento, vou deixar aqui o link da documentação desse método:

Espero que tenha conseguido te ajudar com as dúvidas. Qualquer coisa me avisa que estou por aqui ^^

Bons estudos e boa semana!