Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Desafio: bora praticar? (1 - Conhecendo a base de dados)

## Para praticar os métodos aprendidos no decorrer dessa aula e também aprender novos, vamos realizar algumas análises utilizando um arquivo csv diferente: alunos.csv.
import pandas as pd
from urllib.request import urlopen
import io

# Função que baixa um arquivo de dados da URL informada e carrega em um DataFrame do pandas,
# identificando automaticamente o formato do arquivo pela extensão (csv, xls, xlsx, json).
def carregar_dados(url):
    extensao = url.split('.')[-1].lower()
    try:
        conteudo = urlopen(url).read()
    except Exception as e:
        raise RuntimeError(f'Erro ao acessar a URL: {e}')

    match extensao:
        case 'csv':
            return pd.read_csv(io.BytesIO(conteudo), encoding='utf-8')
        case 'xls' | 'xlsx':
            return pd.read_excel(io.BytesIO(conteudo))
        case 'json':
            return pd.read_json(io.BytesIO(conteudo))
        case _:
            raise ValueError(f'Extensão de arquivo não suportada: .{extensao}')

# Carregar os dados
url = 'https://raw.githubusercontent.com/alura-cursos/pandas-conhecendo-a-biblioteca/main/desafios/alunos.csv'
dados = carregar_dados(url)

# Exibir a quantidade de linhas e colunas
print(f'Quantidade de linhas: {dados.shape[0]}')
print(f'Quantidade de colunas: {dados.shape[1]}')

# Nome das colunas
print('\nNome das colunas:')
print(dados.columns)

# Exibir as 7 primeiras linhas e as 7 últimas linhas
print('\nPrimeiras 7 linhas:')
print(dados.head(7))
print('Últimas 7 linhas:')
print(dados.tail(7))

# Tipos de dados de cada coluna
print('\nTipos de dados de cada coluna:')
print(dados.dtypes)

# Substituir valores ausentes ou NAN por zero, true por Aprovado e false por Reprovado
dadosatualizados = dados.replace({True: 'Aprovado', False: 'Reprovado'}).fillna(0)

# Exibir os dados atualizados
print('\nDados atualizados:')
print(dadosatualizados)

# Estatísticas descritivas com dados atualizados
print('\nEstatísticas descritivas:')
print(dadosatualizados.describe())
1 resposta
solução!

Ei, Marinaldo! Tudo bem?

Muito bom o seu código! Você fez um ótimo trabalho explorando o dataset e usou até a dica extra do método describe(), parabéns!

Uma dica: explore usar o .fillna() com a média ou mediana, em outros contextos, ao invés de substituir NaN por zero para evitar distorcer análises (como em notas).

Continue se dedicando aos estudos e qualquer dúvida, compartilhe no fórum.

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