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!

0
respostas

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