# Introdução à análise de dados em Python

Percurso de Python, NumPy, pandas e gráficos, com exercícios e análise reproduzível.

Página: https://resumos.rgo.pt/cadeiras/ct-iadp/

Aprende a ler e escrever programas Python e a transformar dados em resultados que consegues verificar. O percurso começa em variáveis, condições e coleções, passa a arrays e tabelas e termina numa análise completa.

## Como estudar

Lê a explicação e prevê o resultado do exemplo antes de o executar. Muda uma entrada e explica o que deve acontecer. Resolve os exercícios sem abrir a solução e compara depois o teu raciocínio com os passos apresentados.

| Parte | Páginas | O que deves conseguir fazer |
| --- | --- | --- |
| Python | [Ambiente](https://resumos.rgo.pt/cadeiras/ct-iadp/ambiente/) a [Ficheiros](https://resumos.rgo.pt/cadeiras/ct-iadp/ficheiros/) | Seguir e escrever programas com coleções e funções |
| Dados numéricos | [NumPy](https://resumos.rgo.pt/cadeiras/ct-iadp/numpy/) | Selecionar arrays e calcular por eixo |
| Dados tabulares | [Series e DataFrames](https://resumos.rgo.pt/cadeiras/ct-iadp/series-dataframes/) a [Texto e categorias](https://resumos.rgo.pt/cadeiras/ct-iadp/texto-categorias/) | Selecionar, limpar, relacionar, reestruturar e agregar |
| Tempo e gráficos | [Datas e tempo](https://resumos.rgo.pt/cadeiras/ct-iadp/datas-tempos/), [Gráficos](https://resumos.rgo.pt/cadeiras/ct-iadp/graficos/) | Interpretar intervalos temporais e representar resultados |
| Integração | [Análise completa](https://resumos.rgo.pt/cadeiras/ct-iadp/analise-completa/) | Reproduzir um relatório e justificar as verificações |

A [cheat sheet](https://resumos.rgo.pt/cadeiras/ct-iadp/folha-consulta/) reúne sintaxe, critérios e erros comuns. Serve para consulta depois do estudo; as páginas explicam como chegar ao resultado.

## Material das aulas e referências

O percurso acompanha os temas Python e pandas do programa de 2026/27. Os exemplos e exercícios são próprios, com dados fictícios visíveis. Usa os materiais atuais da turma para conferir a notação, versões e regras de avaliação.

A documentação oficial de [Python](https://docs.python.org/3/tutorial/), [NumPy](https://numpy.org/doc/stable/user/absolute_beginners.html), [pandas](https://pandas.pydata.org/docs/getting_started/intro_tutorials/index.html) e [Matplotlib](https://matplotlib.org/stable/tutorials/pyplot.html) permite aprofundar cada operação. Para um desenvolvimento mais longo, consulta o [Python Data Science Handbook, de Jake VanderPlas](https://jakevdp.github.io/PythonDataScienceHandbook/) e [Python for Data Analysis, de Wes McKinney](https://wesmckinney.com/book/).

## Funcionamento e preparação da avaliação

O [FAQ ligado no Moodle](https://moodle2627.up.pt/mod/url/view.php?id=41854) indica que os quizzes servem para progredir no percurso e que a classificação final depende do exame presencial. O acesso ao exame exige concluir a progressão e atingir o mínimo indicado no quiz final. Confere os requisitos da atividade na tua turma.

Consulta o [calendário 2026/27](https://moodle2627.up.pt/mod/url/view.php?id=41855) para prazos recomendados, limites obrigatórios e datas alternativas de exame. Algumas datas estão assinaladas como previstas e dependem de inscrições. O FAQ indica acesso ao material do Moodle, Spyder e Jupyter durante o exame, com a rede desligada. Treina com ficheiros locais e confirma as regras anunciadas para a tua data.

## Vídeos dos módulos da turma

Além dos vídeos de aprofundamento nas páginas, os módulos incluem explicações dos docentes. Estes links conduzem aos vídeos ligados no Moodle e podem exigir autenticação U.Porto.

| Tema | Vídeo da turma |
| --- | --- |
| Algoritmos e ambiente | [Algoritmos e Spyder](https://uporto.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=f4adba5a-500a-421b-95a9-adcc0162bddd) |
| Listas e operações | [Funções de listas](https://uporto.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=f26943fe-096d-4073-b0e1-ade0017c133d) |
| Estatística de tabelas | [Funções estatísticas de pandas](https://uporto.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=8d9c04a7-b087-4c38-b9e6-ae4801691900) |
| Representação de dados | [Gráficos de pandas](https://uporto.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=7fe54fbd-0665-4076-99e7-ae4d00c8abb2) |

## Praticar com resultados verificáveis

As questões no fim das páginas treinam previsão de saídas, escolha de operações, cálculo e justificação. Os blocos de código incluem todas as entradas de que precisam. Nenhum deles precisa de aceder às tuas notas ou a um serviço externo de dados.

Para preparares uma avaliação, combina os temas: lê uma tabela, confere tipos, aplica um filtro, relaciona outra tabela e calcula um resumo. Volta ao exemplo pequeno quando uma operação te der um resultado que não consegues explicar.

## Correspondência com os módulos das aulas

Esta tabela liga os 34 módulos observados no Moodle às explicações deste percurso. PD01 tem seis partes de bibliotecas, listadas separadamente. A ligação indica onde estudar o tema; não substitui o enunciado ou as regras de avaliação da turma.

| Módulo Moodle | Tema | Onde estudar |
| --- | --- | --- |
| Python 00 | Introdução | [Programas e notebooks](https://resumos.rgo.pt/cadeiras/ct-iadp/ambiente/) |
| Python 01 | Algoritmos e Spyder | [Algoritmo e ambientes](https://resumos.rgo.pt/cadeiras/ct-iadp/ambiente/#um-algoritmo-antes-do-c%C3%B3digo) |
| Python 02 | Variáveis, operadores e expressões | [Variáveis e operadores](https://resumos.rgo.pt/cadeiras/ct-iadp/variaveis-operadores/) |
| Python 03 | Atribuição, input e print | [Entrada e saída](https://resumos.rgo.pt/cadeiras/ct-iadp/variaveis-operadores/#ler-valores-e-mostrar-resultados) |
| Python 04 | if | [Escolher um ramo](https://resumos.rgo.pt/cadeiras/ct-iadp/condicoes-ciclos/#escolher-um-ramo) |
| Python 05 | while | [Repetir com while](https://resumos.rgo.pt/cadeiras/ct-iadp/condicoes-ciclos/#repetir-enquanto-uma-condi%C3%A7%C3%A3o-vale) |
| Python 06 | for | [Percorrer com for](https://resumos.rgo.pt/cadeiras/ct-iadp/condicoes-ciclos/#percorrer-valores-com-for) |
| Python 07 | Listas | [Sequências e cópias](https://resumos.rgo.pt/cadeiras/ct-iadp/listas-tuplos-strings/) |
| Python 08 | Tuplos | [Tuplos](https://resumos.rgo.pt/cadeiras/ct-iadp/listas-tuplos-strings/#tuplos-e-desempacotamento) |
| Python 09 | Conjuntos | [Conjuntos](https://resumos.rgo.pt/cadeiras/ct-iadp/conjuntos-dicionarios/#conjuntos-sem-repeti%C3%A7%C3%B5es) |
| Python 10 | Dicionários | [Chaves e contagens](https://resumos.rgo.pt/cadeiras/ct-iadp/conjuntos-dicionarios/#chaves-de-um-dicion%C3%A1rio) |
| Python 11 | Strings | [Transformar texto](https://resumos.rgo.pt/cadeiras/ct-iadp/listas-tuplos-strings/#transformar-texto) |
| Python 12 | Arrays 1D e 2D | [Vetores e matrizes com listas](https://resumos.rgo.pt/cadeiras/ct-iadp/listas-tuplos-strings/#vetores-e-matrizes-com-listas) |
| Python 13 | Funções | [Funções e módulos](https://resumos.rgo.pt/cadeiras/ct-iadp/funcoes/) |
| Python 14 | Ficheiros | [Ficheiros e CSV](https://resumos.rgo.pt/cadeiras/ct-iadp/ficheiros/) |
| PD00 | Jupyter | [Script, consola e notebook](https://resumos.rgo.pt/cadeiras/ct-iadp/ambiente/#script-consola-e-notebook) |
| PD01, Calendar | Calendário | [Tipos e calendário](https://resumos.rgo.pt/cadeiras/ct-iadp/datas-tempos/#tipos-da-biblioteca-padr%C3%A3o) |
| PD01, Time | Relógios e duração | [Medir duração](https://resumos.rgo.pt/cadeiras/ct-iadp/datas-tempos/#medir-dura%C3%A7%C3%A3o-de-c%C3%B3digo) |
| PD01, Datetime | Datas e horas | [Datas e tempo](https://resumos.rgo.pt/cadeiras/ct-iadp/datas-tempos/) |
| PD01, Dateutil | Aritmética de calendário | [Dias e meses](https://resumos.rgo.pt/cadeiras/ct-iadp/datas-tempos/#tipos-da-biblioteca-padr%C3%A3o) |
| PD01, NumPy | Arrays e cálculo | [NumPy](https://resumos.rgo.pt/cadeiras/ct-iadp/numpy/) |
| PD01, Matplotlib | Figuras e gráficos | [Gráficos](https://resumos.rgo.pt/cadeiras/ct-iadp/graficos/) |
| PD02 | Series e DataFrames | [Construir tabelas](https://resumos.rgo.pt/cadeiras/ct-iadp/series-dataframes/) |
| PD03 | Índices e seleção | [Selecionar](https://resumos.rgo.pt/cadeiras/ct-iadp/selecao-filtros/) |
| PD04 | Estatística | [Resumos e unidades](https://resumos.rgo.pt/cadeiras/ct-iadp/estatistica/) |
| PD05 | Linhas, colunas e filtros | [Filtros](https://resumos.rgo.pt/cadeiras/ct-iadp/selecao-filtros/) e [transformações](https://resumos.rgo.pt/cadeiras/ct-iadp/transformar-tabelas/) |
| PD06 | concat e append | [Concatenação](https://resumos.rgo.pt/cadeiras/ct-iadp/concatenacao-juncoes/#concatenar-linhas-ou-colunas) |
| PD07 | merge e join | [Junções](https://resumos.rgo.pt/cadeiras/ct-iadp/concatenacao-juncoes/#relacionar-por-uma-chave) |
| PD08 | pivot, stack e melt | [Reestruturar](https://resumos.rgo.pt/cadeiras/ct-iadp/reestruturar/) |
| PD09 | pivot\_table e groupby | [Agrupar](https://resumos.rgo.pt/cadeiras/ct-iadp/agrupamentos/) |
| PD10 | Strings e categorias | [Texto e categorias](https://resumos.rgo.pt/cadeiras/ct-iadp/texto-categorias/) |
| PD11 | Valores em falta | [Representar ausência](https://resumos.rgo.pt/cadeiras/ct-iadp/transformar-tabelas/#representar-aus%C3%AAncia) |
| PD12 | Datas e tempo | [Conversão e agregação temporal](https://resumos.rgo.pt/cadeiras/ct-iadp/datas-tempos/#converter-datas-em-pandas) |
| PD13 | Gráficos | [Escolha de gráficos e métodos pandas](https://resumos.rgo.pt/cadeiras/ct-iadp/graficos/) |

Vídeos para acompanhar o estudo

[Funções e módulos](https://resumos.rgo.pt/cadeiras/ct-iadp/funcoes/). Distingue argumentos, parâmetros, print e return.

[Vídeo: Funções em Python, Corey Schafer](https://www.youtube.com/watch?v=9Os0o3wzS_I)

A miniatura vem do YouTube. O vídeo só carrega quando clicas. [Abrir no YouTube](https://www.youtube.com/watch?v=9Os0o3wzS_I)

[Agrupar e agregar](https://resumos.rgo.pt/cadeiras/ct-iadp/agrupamentos/). Segue os grupos e a agregação em pandas; confirma a API na versão usada.

[Vídeo: Agrupar e agregar com pandas, Corey Schafer](https://www.youtube.com/watch?v=txMdrV1Ut64)

A miniatura vem do YouTube. O vídeo só carrega quando clicas. [Abrir no YouTube](https://www.youtube.com/watch?v=txMdrV1Ut64)

[Listas, tuplos e strings](https://resumos.rgo.pt/cadeiras/ct-iadp/listas-tuplos-strings/). Compara alterar uma lista com criar uma nova coleção.

[Vídeo: Listas, tuplos e conjuntos, Corey Schafer](https://www.youtube.com/watch?v=W8KRzm-HUcc)

A miniatura vem do YouTube. O vídeo só carrega quando clicas. [Abrir no YouTube](https://www.youtube.com/watch?v=W8KRzm-HUcc)
