1
resposta

Motivo do resultado

Não entendi o motivo desse resultado, alguém pode me explicar?

Grato

Considere o seguinte DataFrame nomeado como df:

C B A Z 9 6 3 Y 8 5 2 X 7 4 1 Após executar o seguinte conjunto de rotinas no Jupyter:

df.sort_index() df.sort_index(axis = 1) dfCOPIAR CÓDIGO Qual o resultado obtido?

Alternativa correta C B A Z 9 6 3 Y 8 5 2 X 7 4 1

Alternativa correta! Para que o método sort_index() modifique o DataFrame, o argumento inplace deve ser modificado para True.

Alternativa correta A B C X 1 4 7 Y 2 5 8 Z 3 6 9

Alternativa errada! Atenção para os argumentos do método sort_index().

Alternativa correta C B A X 7 4 1 Y 8 5 2 Z 9 6 3

Alternativa correta A B C Z 3 6 9 Y 2 5 8 X 1 4 7

1 resposta

Boas Kaio! tudo bem? Espero que sim!

Quando trabalhamos com DataFrames de maneira geral, as função não sobrescrevem os dados do Dataframe que usamos, ela retorna um novo Dataframe no qual foi aplicado aquela função. Vou dar um exemplo para ficar mais claro o que estou dizendo:

Considere o DataFrame:

frutasprecosid
0banana61
1laranja32
2abacaxi73

Agora, vamos tentar tirar a colunan id.

Para fazer isso usamos a função pd.drop()

df.drop('id', axis=1)

Que retorna

frutasprecos
0banana6
1laranja3
2abacaxi7

Entetanto, se verifiacar-mos o df. Ele continua com a coluna id. Isso acontece pelo motivo já comentado: a maioria das funções do pandas não sobrescreve o DataFrame original.

Se quisermos que ocorra essa sobreescrita, podemos fazer de duas formas:

  • passando o parâmetro inplace=True, que aplica a função sobreescrevendo o DataFrame; ou
  • Atribuindo o resultado da função para o data Frame.

E, código seria:

df.drop('id', axis=1, inplace=True)

ou

df = drop('id', axis=1)
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!