Ler e inspecionar um DataFrame
Os códigos desta página rodam no navegador, mas não sozinhos: clique em Run Code em cada bloco, de cima para baixo.
A ideia
Na Aula 1 abrimos a base WorldBank.xlsx. O pandas guarda os dados em um DataFrame, que é uma tabela: cada linha é uma observação (um país, um cliente, um passageiro) e cada coluna é uma variável (população, renda, plano). Essa leitura linha = observação, coluna = variável vai acompanhar o curso inteiro, inclusive na parte de probabilidade, quando cada linha vira uma realização de um experimento aleatório.
A função de leitura depende do formato do arquivo:
| Arquivo | Função | Onde apareceu |
|---|---|---|
.xlsx (Excel) |
pd.read_excel('arquivo.xlsx') |
WorldBank, Empresa de TV, Titanic |
.csv (separado por vírgula) |
pd.read_csv('arquivo.csv') |
desempenho de estudantes, erupções |
.txt separado por espaço |
pd.read_table('arquivo.txt', sep=' ') |
vistoria do Detran (Aula 11) |
Depois de ler, faça sempre três perguntas: quantas linhas e colunas a base tem, como são os primeiros registros e que tipo o pandas atribuiu a cada coluna. Isso evita a maior parte dos erros que só aparecem lá na frente.
No código
O arquivo precisa estar na mesma pasta do notebook. Dá para conferir antes de ler:
Lendo e guardando o resultado em uma variável. Sem a atribuição dados = ..., o pandas mostra a tabela e a joga fora.
São 168 países e 6 variáveis. Repare nos tipos: Country e region são object (texto), GDPcapita é float64 (número com casas decimais) e Population, surface e landlocked são int64 (inteiros). Mas landlocked só vale 0 ou 1 e significa “sem saída para o mar”: é uma variável qualitativa guardada como número. O dtype diz como o pandas armazena a coluna, não que tipo de variável ela é. Quem decide isso é você, e depois avisa o pandas (veja Categorias e ordem).
Um arquivo .txt com colunas separadas por espaço precisa do separador certo. Com read_csv sem sep, tudo cai em uma coluna só:
Os erros mais comuns ao ler e inspecionar, rodados de propósito:
Armadilhas comuns
- Arquivo em outra pasta. O
FileNotFoundErrorquase sempre significa que o notebook e o arquivo não estão na mesma pasta, ou que o nome (inclusive a extensão) está diferente. Useos.listdir()para ver o que o Python enxerga. - Esquecer de guardar a leitura.
pd.read_excel('WorldBank.xlsx')sozinho só mostra a tabela. Para usar depois, escrevadados = pd.read_excel(...). - Parênteses no lugar errado. Métodos levam parênteses (
.head(),.describe()); atributos não (.shape,.dtypes,.columns).dados.shape()dá'tuple' object is not callable. - Separador errado. Se a base apareceu com uma coluna só e nomes estranhos, o separador está errado: use
sep=' '(espaço),sep=';'etc. - Confiar no
dtypepara classificar a variável. Números podem ser códigos de categorias (PLANO= 1 ou 2 na Empresa de TV,landlocked= 0 ou 1). Calcular a média de um código não faz sentido.
Exercícios aqui na página
Complete os ______ e clique em Run Code: a correção aparece logo abaixo. Use Show Hint para uma dica e Show Solution para ver uma resolução. O Python roda no seu navegador; na primeira vez ele leva alguns segundos para carregar.
Exercício 1
Leia a base do Titanic (titanic.xlsx, a da Aula 4) e guarde em formato o número de linhas e de colunas.
A função de leitura depende da extensão do arquivo: .xlsx é Excel.
titanic = pd.read_excel('titanic.xlsx')
formato = titanic.shape
formatoExercício 2
A base da vistoria do Detran (Carros.txt, Aula 11) tem as colunas separadas por espaço. Leia com o separador certo e conte quantos carros são populares (Tipo igual a 1).
Somar uma condição (True/False) conta quantos True existem.
carros = pd.read_table('Carros.txt', sep=' ')
n_populares = (carros['Tipo'] == 1).sum()
n_popularesExercício 3
Olhe os tipos com titanic.dtypes. Que dtype o pandas deu à coluna Survived? Escreva o nome exatamente como o pandas mostra. (Repare: é um número, mas a variável é qualitativa.)
Survived vale 0 ou 1: o pandas guarda como inteiro.
print(titanic.dtypes)
tipo_survived = 'int64'
tipo_survivedComandos e documentação oficial
Pratique
As listas novas de revisão abrem no Google Colab (use Arquivo → Salvar uma cópia no Drive). As listas das aulas estão no Blackboard, na pasta de cada aula.
- Revisão A · Pandas passo a passo (com correção automática) nova (Parte 1)Abrir no ColabBaixar .ipynb
- Revisão B · Pontes: cada conteúdo por dois caminhos (com correção automática) nova (Parte 1)Abrir no ColabBaixar .ipynb
- Aula 01 · Atividade: manipular e filtrar um DataFrame (WorldBank) APS1 (Seção 1 (abrindo o arquivo e visualizando o conteúdo))Blackboard · notebooks da Aula 01
- Aula 11 · Atividade: binomial com dados (vistoria do Detran) (leitura do Carros.txt com pd.read_table)Blackboard · conteúdo do curso