Olá, Eduardo. Como vai?
Parabéns por concluir mais este desafio! A exportação de dados filtrados é uma etapa fundamental no dia a dia de um analista de dados, pois permite que você salve recortes específicos de uma base grande para enviar a outras equipes ou para usar em relatórios posteriores.
O seu uso do método .to_csv() está corretíssimo. Você aplicou duas boas práticas muito importantes:
- O uso do
index=False, que impede o Pandas de criar uma coluna sem nome com os índices numéricos do DataFrame no arquivo final. - A definição do separador como ponto e vírgula (
sep=";"), o que é excelente para quem trabalha no Brasil, já que o Excel em português abre esse formato automaticamente sem quebrar o texto.
Para agregar ainda mais valor ao seu aprendizado sobre filtros e exportação no Pandas, quero compartilhar duas dicas que vão te ajudar a deixar seu código mais limpo e seguro:
1. Criando cópias explicitamente para evitar avisos (SettingWithCopyWarning)
Quando criamos DataFrames filtrados (como o seu df_1 e df_2), o Pandas muitas vezes não cria um novo objeto na memória, mas sim uma "visão" do DataFrame original.
Se no futuro você precisar fazer qualquer alteração nesses dados filtrados antes de exportar (como preencher um valor nulo ou criar uma coluna nova), o Python pode disparar um aviso em vermelho chamado SettingWithCopyWarning. Para blindar o seu código contra isso, a boa prática é usar o método .copy() logo após aplicar o filtro.
Veja um exemplo de como a estrutura ideal ficaria:
# Exemplo de boa prática na hora de aplicar o filtro
df_1 = df_original[(df_original['quartos'] == 1) & (df_original['aluguel'] < 1200)].copy()
# Agora a exportação fica 100% segura
df_1.to_csv('filtro_1.csv', index=False, sep=";")
2. Verificando os arquivos gerados direto pelo código
Uma dica de produtividade muito legal para conferir se a exportação deu certo — sem precisar sair do ambiente de desenvolvimento (como o Jupyter Notebook ou Google Colab) para abrir o arquivo manualmente — é ler as primeiras linhas do CSV logo após salvá-lo.
Você pode fazer isso rapidamente com o próprio Pandas:
# Salva o arquivo
df_2.to_csv('filtro_2.csv', index=False, sep=";")
# Lê e exibe as 5 primeiras linhas para conferência rápida
df_2_conferencia = pd.read_csv('filtro_2.csv', sep=";")
print(df_2_conferencia.head())
Isso garante um fluxo de trabalho mais rápido e te dá a certeza de que as colunas e os dados foram gravados exatamente como você planejou.
O seu código cumpre perfeitamente o que o exercício propôs. Continue praticando e avançando pelos capítulos do curso!
Espero que possa ter lhe ajudado!