1
resposta

Ordenar dataframe do menor para o maior percentual.

Olá. O código: df['Tipo'].value_counts(normalize=True).to_frame().sort_values('Tipo') deveria ordenar os valores do menor para o maior percentual conforme sugerido na transcrição da aula . Mas não é o que acontece (veja anexo Ordem_dataframe.png) . Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Além disso no vídeo é apresentado um código diferente do apresentado na transcrição: df.Tipo.value_counts(normalize=True).to_frame().sort_values('Tipo'). (veja anexo Ordem_dataframe_video.png) Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Qual o correto? df.Tipo.value_counts... ou df['Tipo´].value_counts...

Obrigado

1 resposta

Olá, Sérgio! Como vai?

Na nova atualização da biblioteca Pandas, a coluna de valores proporcionais será nomeada automaticamente no DataFrame como proportion. Com essa mudança, é necessário alterar também a coluna selecionada para a criação da variável df_percentual tipo.

Tanto que, ao executar o código:

df.Tipo.value_counts(normalize=True)

Temos como resultado:

Captura de tela exibindo a saída de um trecho de código Python mostrando as proporções de diferentes tipos de propriedades em um dataframe.

Ou seja, a coluna de percentuais foi nomeada como proportion, diferente do que a pessoa instrutora tinha como resultado antes da atualização.

Então em seguida, para nos adaptarmos à atualização, devemos executar o seguinte código:

df_percentual_tipo = df.Tipo.value_counts(normalize=True).to_frame().sort_values('proportion')

df_percentual_tipo

Nesse código nós salvamos o DataFrame na variável df_percentual_tipo com uma ordenação do menor percentual para o maior percentual:

Saída da análise de dados mostrando proporções de tipos de moradia, classificados de Estúdio (0,000173) a Apartamento (0,845139).

Repare que devemos passar o parâmetro 'proportion' no método sort_values(). Já que, com a atualização, o rótulo proportion foi adicionado na coluna.

E sobre a sua dúvida do uso do colchetes: usar o colchetes é apenas uma outra sintaxe para selecionarmos a coluna do DataFrame.

Ou seja, o código:

df.Tipo.value_counts(normalize=True).to_frame().sort_values('proportion')

E o código:

df['Tipo'].value_counts(normalize=True).to_frame().sort_values('proportion')

Retornam o mesmo resultado!

Espero ter ajudado e fico à disposição se precisar.

Abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado