2
respostas

duvida

Na aula de seleções com dataframes, eu tenho esse trecho:

O .loc também nos permite selecionar quais colunas desejamos exibir. Para isso, depois das informações das linhas, adicionaremos uma vírgula e um novo par de colchetes, dessa vez com as informações "Motor" e "Valor" representando as colunas a serem exibidas.

dataset.loc[['Passat', 'DS5'], ['Motor', 'Valor']]

No presente exercicio. ele pede pra assinalar "a alternativa que contenha o código que seleciona somente as informações de Nome, Ano, Quilometragem e Valor dos carros Passat e Crossfox". Considerando o dataframe em questao, por que o codigo a seguir não funciona?

dataset.loc[['Passat', 'Crossfox'], ['Nome, 'Ano', 'Quilometragem', 'Valor', ]]

?

2 respostas

Bem, acho que descobri o porquê. Para que seja possível fatiar dessa forma, o nome dos veículos devem compor o índice do dataframe, correto? Mas agora vem outra pergunta: o indice serve para identificação dos registros do dataframe e pode ser inserido automaticamente no Pandas. Assim,

  1. Qual a vantagem de eu definir o indice de forma manual?
  2. Por que seria vantajoso pra mim definir nome de carro como indice (considerando que em um cenário real ele vai se repetir)?

Olá, Rogério! Tudo bem? Espero que sim!

O índice geralmente é algo que torna os seus dados identificados. Então seu uso, seja por definição automática ou manual, é vantajoso sempre que você consiga caracterizar ou diferenciar seus dados utilizando-os.

No caso do Loc, além de poder fazer a alteração no index, você também pode utilizar uma técnica de verificação booleana (ou indexação booleana) na parte das linhas, a esquerda da vírgula, e a direita você especifica apenas o nome das colunas. Exemplo:

df.loc[df['Nome'] == "Passat", ['Valor']]

O código acima verifica todas as linhas que contém o nome igual a Passat, e seleciona, a direita da vírgula, apenas a coluna Valor.

Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!

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