Oii Cassio, tudo bem contigo?
Vamos criar o DataFrame em questão para entendermos certinho o código apresentado no exercício:
data = [[9,6,3], [8,5,2], [7,4,1]]
df = pd.DataFrame(data, list('ZXY'), list('CBA'))
df
Resultado:
Uma vez que nós temos esse DataFrame, podemos executar as três linhas de códigos apresentadas no exercício:
df.sort_index()
df.sort_index(axis = 1)
df
Resultado:
Se você executar essas três linhas de códigos em uma mesma célula, você também vai obter esse resultado, que é igual ao DataFrame inicial.
Mas por que obtivemos o mesmo DataFrame inicial como resultado?
Isso acontece, porque quando executamos as seguintes linhas de códigos:
df.sort_index()
df.sort_index(axis = 1)
nós não estamos alterando o conteúdo da nossa variável df
. A maioria dos métodos da biblioteca pandas não sobrescreve o DataFrame original quando aplicamos eles. Esses métodos, ao serem aplicados em um DataFrame, geram apenas uma visualização do resultado que é obtido com a aplicação daquele método.
Dessa forma, se a gente executa esse trecho de código em uma célula separada, vamos conseguir visualizar o DataFrame modificado:
df.sort_index(axis = 1)
Resultado:
No entanto, se a gente executa esse código e em seguida visualizamos o conteúdo da variável df
, vamos perceber que ele realmente não sofre alterações:
df.sort_index(axis = 1)
df
Resultado:
Caso a gente queira que a variável original df
seja sobrescrita com o DataFrame resultante do método sort_index()
, existem duas alternativas:
- acrescentar o parâmetro
inplace=True
:
df.sort_index(axis = 1, inplace=True)
df
- ou sobrescrever o conteúdo da variável:
df = df.sort_index(axis = 1)
df
Utilizando qualquer uma das formas mostradas acima o resultado ao printar a variável df
é o seguinte:
o DataFrame resultante da aplicação do método sort_index()
.
Mas se não utilizamos nenhuma das opções acima, conforme é apresentado no código do exercício, o DataFrame df
continua da mesma forma, sem alterações. E por isso a resposta correta é a letra A.
Espero que tenha conseguido te ajudar. Qualquer dúvida me avisa :)
Bons estudos!