Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Desafio: bora praticar?

import pandas as pd


dados = {
    "Nome": ["Ary","Ana","Cátia","Denis","Beto","Bruna","Dara","Carlos","Alice","Vitor",
             "Daniel","Igor","Sthefanie","Mirla","Paulo","Mylena","Lucas","Nadia"],
    "Idade": [20,18,27,18,21,23,21,19,35,28,21,24,26,25,37,29,33,34],
    "Notas": [7.5,None,2.5,5.0,10.0,None,7.0,6.0,5.6,None,None,4.5,9.5,9.0,None,7.0,None,8.0],
    "Aprovado": [True,False,False,False,True,False,True,True,False,False,
                 False,False,True,True,False,True,False,True]
}

df = pd.DataFrame(dados)


print("Dados nulos por coluna:")
print(df.isnull().sum())


media_notas = df["Notas"].mean()
df["Notas"].fillna(media_notas, inplace=True)


df = df[~df["Nome"].isin(["Alice","Carlos"])]

df_aprovados = df[df["Aprovado"] == True]

df_aprovados["Notas"].replace(7.0, 8.0, inplace=True)


df_aprovados.to_csv("alunos_aprovados.csv", index=False)

print("\nDataFrame final de aprovados:")
print(df_aprovados)


     Saída - dados nulos por coluna:

Código
Nome        0
Idade       0
Notas       5
Aprovado    0
dtype: int64
DataFrame final de aprovados (df_aprovados):


        Nome  Idade  Notas  Aprovado
0        Ary     20    7.5      True
4       Beto     21   10.0      True
6       Dara     21    8.0      True   # corrigido de 7.0 para 8.0
12  Sthefanie     26    9.5      True
13     Mirla     25    9.0      True
15    Mylena     29    8.0      True   # corrigido de 7.0 para 8.0
17     Nadia     34    8.0      True]
1 resposta

Oi, Penha! Como vai?

Você resolveu bem o desafio, passando por etapas importantes de tratamento e filtragem de dados com Pandas: verificou valores nulos com isnull().sum(), preencheu as notas ausentes com a média, removeu Alice e Carlos, filtrou estudantes aprovados e exportou o resultado para CSV. A lógica ficou bem organizada e mostra uma boa compreensão do fluxo de limpeza dos dados.

Qual etapa você achou mais importante nesse desafio: tratar os nulos, filtrar os aprovados ou salvar o CSV?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!