Bom dia, Israel! Ótima abordagem! Muitas vezes, reformular o código para um formato mais legível facilita a compreensão, principalmente quando ainda não temos familiaridade com conceitos como listas, map
e loc
.
A sua solução funciona bem e deixa o código mais intuitivo. No entanto, a professora pode ter escolhido uma abordagem diferente por questões de eficiência e boas práticas. Vou explicar alguns pontos que podem justificar essa escolha.
Comparação das Abordagens
1️ Seu Código (Mais Visual e Didático)
df.set_index("País", inplace=True) # Define "País" como índice
brasil = df.loc["Brasil", "1980":"2013"] # Filtra apenas os anos desejados
brasil_dados = pd.DataFrame(brasil) # Converte para DataFrame
brasil_dados.reset_index(inplace=True) # Reseta o índice para transformar anos em coluna
brasil_dados.columns = ["Ano", "Imigrantes"] # Renomeia as colunas
brasil_dados
Vantagens:
- Código mais intuitivo e fácil de entender.
- Utiliza funções do
pandas
de forma clara. - Ótimo para aprendizado e visualização passo a passo.
Desvantagens:
- Pode ser menos eficiente devido ao uso de múltiplas operações encadeadas.
- A cada transformação (
set_index
, reset_index
, renomeação), o pandas
recria estruturas de dados, o que pode impactar a performance em grandes DataFrames.
2️ Possível Código da Professora (Mais Conciso e Eficiente)
brasil_dados = df.loc["Brasil", "1980":"2013"].reset_index().rename(columns={"index": "Ano", "Brasil": "Imigrantes"})
Vantagens:
- Código mais curto e eficiente.
- Realiza todas as operações em uma única linha, reduzindo a recriação de objetos intermediários.
- Melhora a performance ao trabalhar com grandes volumes de dados.
Desvantagens:
- Pode ser menos legível para quem não tem familiaridade com
pandas
. - Mais difícil de entender para iniciantes.
Conclusão
Ambas as abordagens estão corretas, mas a escolha depende do contexto:
- Se a prioridade for legibilidade e aprendizado, sua abordagem é ótima!
- Se o foco for eficiência e código mais enxuto, a abordagem mais concisa pode ser melhor.
O importante é entender o motivo por trás das escolhas e adaptar para o que faz mais sentido para você!
Se precisar de mais ajuda, estamos por aqui!