TRABALHANDO COM ARQUIVOS DE DADOS, CSV E DATAFRAMES
Arquivo de Dados (.DAT)
Um arquivo DAT é um arquivo de dados que é criado por um aplicativo de software e pode conter texto, imagens e outros tipos de dados. Um arquivo DAT pode ser usado como um backup para determinados tipos de arquivos e programas que podem ser restaurados mais tarde. Fonte: http://ptcomputador.com/
modos Descrição
r : Abre um arquivo somente para leitura. O ponteiro de arquivo é colocado no inicio do arquivo. Este é o modo padrão.
r+ : Abre um arquivo para leitura e escrita. O ponteiro de arquivo colocado no início do arquivo
w : Abre um arquivo somente para escrita. Substitui o arquivo se o arquivo existe. Se o arquivo não existir, cria um novo arquivo para a escrita.
w+ : Abre um arquivo para escrita e leitura. Substitui o arquivo existente se o arquivo existe. Se o arquivo não existir, cria um novo arquivo para leitura e escrita.
a+ : Abre um arquivo para ambos appending e leitura. O ponteiro do arquivo está no final do arquivo, se o arquivo existe. O arquivo é aberto no modo de acréscimo. Se o arquivo não existir, ele cria um novo arquivo para leitura e escrita.
Criação, Gravação e Leitura de Arquivos
Criando Arquivos de dados
SageMath assim como python, cria um arquivo ao tentar abrir um arquivo que não existe gravado no computador. A outra maneira é usando o comando %sh touch arquivo.dat ou !touch arquivo.dat.
Gravando dados
Lendo arquivo
Se executar novamente vai aparecer vazio. Isto ocorre em funão do SageMath ler mais linhas do arquivo.
Se tentar ler a variável arquivo_dados ocorre erro pois o arquivo ja foi fechado. para evitar esse problema, atribua à leitura das linhas do arquivo uma variável. Ex:
Acrescentar Dados ao Final do Arquivo
Abrir um arquivo para leitura e gravação (w+) inplica dizer que ao gravar novamente outros dados, pode ocorrer de perder todo o conteúdo gravado. Para evitar esse probmão, use o atributo a+ que permite gravar ao final do arquivo.
Gravando dados numéricos em um arquivo texto
O comando write só grava dados de texto, para gravar dados numéricos temos que usar o numpy. Embora exista a possibilidade de usar a função 'pickle', os dados gravados no arquivo ficam de péssima visualização em um editor de textos.
formato é a forma de apresentação dos dados:
O problema com este código é que se outros dados forem salvos no arquivo, os dados anteriores serão apagados.
Acrescentando vários valores numéricos a um arquivo txt
Agora podemos trabalhar com esses dados gravados em arquivo
Utilizando a forma de função
DataFrames
Os dataframes são objetos usados para guardar dados na forma de tabelas. Um data frame possui colunas nomeadas, sendo que todas as colunas possuem a mesma quantidade de linhas. DataFrame é a melhor forma de guardar informações pois além de manter uma boa formatação dos dados, ainda permite que seja gravado em arquivos do tipo CSV, que podem ser abertos e manipulados em softwares de planilha tipo excel ou calc.
O Pandas é uma biblioteca de software escrito para manipulação e análise de dados. Como diferencial, oferece estruturas e operações de dados para manipular tabelas numéricas e séries de tempo. Pandas é um software livre liberado sob a licença BSD. O nome é derivado do termo "dados em painel", um termo de econometria para conjuntos de dados estruturados multidimensionais.
Criar e Visualizar DataFrames
Ano | Nome_do_software | |
---|---|---|
0 | 2005 | scilab |
1 | 2012 | julia |
Ano | Nome_do_software | |
---|---|---|
0 | 2005 | scilab |
1 | 2012 | julia |
Outro Exemplo
Nome_do_software | Ano_de_lancamento | Site | |
---|---|---|---|
0 | Julia | 2012 | julialang.org |
1 | SageMath | 2005 | sagemath.org |
2 | Maxima | 1980 | maxima.org |
3 | Octave | 2000 | gnu.org/octave |
4 | Maxima | 1980 | maxima.org |
Arquivos CSV
A melhor forma de trabalhar com dataframes é salva-los no formato "CSV". Comma-separated values (ou CSV) é um formato de arquivo que armazena dados tabelados, cujo grande uso data da época dos mainframes. Por serem bastante simples, os arquivos '.csv' são comuns em todas as plataformas de computador.
O CSV é um implementação particular de arquivos de texto separados por um delimitador, que usa a vírgula e a quebra de linha para separar os valores. O formato também usa as aspas em campos no qual são usados os caracteres reservados (vírgula e quebra de linha). Essa robustez no formato torna o CSV mais amplo que outros formatos digitais do mesmo segmento.Fonte: wikipedia.
Forma geral de um arquivo CSV na forma de texto:
Uma forma prática de criar arquivos CSV é usando uma planilha (excel, calc-libreoffice/openoffice). Basta preencher os dados nas celulas e depois salvar como CSV.
Importar um Arquivo CSV
coluna do index, corresponde a primeira coluna
Salvar dados em um Arquivo CSV
Nome_do_software | Ano_de_lancamento | |
---|---|---|
0 | Julia | 2012 |
1 | SageMath | 2005 |
2 | Maxima | 1980 |
3 | Octave | 2000 |
Manipular Colunas, Linhas, Dados e Concatenar Dataframes
Nome_do_software | Ano | |
---|---|---|
0 | scilab | 2005 |
1 | julia | 2012 |
Para adicionar uma nova coluna de dados ao DataFrame
Nome_do_software | Ano | Gostei | |
---|---|---|---|
0 | scilab | 2005 | Sim |
1 | julia | 2012 | Sim |
Para deletar uma coluna
Nome_do_software | |
---|---|
0 | scilab |
1 | julia |
0 |
---|
1 |
Para alterar nome de uma coluna
Soft_name | Ano | |
---|---|---|
0 | scilab | 2005 |
1 | julia | 2012 |
Para concatenar Dataframes
Nome_do_sofware | Ano | |
---|---|---|
0 | octave | 2000 |
1 | axiom | 1980 |
Nome_do_software | Ano | |
---|---|---|
0 | scilab | 2005 |
1 | julia | 2012 |
Horizontal
Nome_do_sofware | Ano | Nome_do_software | Ano | |
---|---|---|---|---|
0 | octave | 2000 | scilab | 2005 |
1 | axiom | 1980 | julia | 2012 |
Vertical
Ano | Nome_do_software | Nome_do_sofware | |
---|---|---|---|
0 | 2000 | NaN | octave |
1 | 1980 | NaN | axiom |
0 | 2005 | scilab | NaN |
1 | 2012 | julia | NaN |
Ano | Nome_do_software | Nome_do_sofware | |
---|---|---|---|
0 | 2000 | NaN | octave |
1 | 1980 | NaN | axiom |
2 | 2005 | scilab | NaN |
3 | 2012 | julia | NaN |
Adicionar Linhas
Para deletar linhas e linhas com dados repetidos
Nome_do_software | Ano | |
---|---|---|
1 | julia | 2012 |
Nome_do_software | Ano |
---|
Para ordenar os elementos de um Dataframe
Nome_do_software | Ano | |
---|---|---|
0 | scilab | 2005 |
1 | julia | 2012 |
Renomear Index
Nome_do_software | Ano | |
---|---|---|
0 | scilab | 2005 |
1 | julia | 2012 |
Nome_do_software | Ano | |
---|---|---|
Interpretado | scilab | 2005 |
Compilado | julia | 2012 |
Visualizar Dados em um DataFrame
Nome_do_software | Ano_de_lancamento | |
---|---|---|
0 | Julia | 2012 |
1 | SageMath | 2005 |
2 | Maxima | 1980 |
3 | Octave | 2000 |
Filtro de dados
Nome_do_software | Ano_de_lancamento | |
---|---|---|
0 | Julia | 2012.0 |
1 | SageMath | 2005.0 |
2 | Maxima | NaN |
3 | Octave | NaN |
Alterar Dados em um DataFrame
Editar dados em uma DataFrame
Para editar um dado em um dataframe:
x | y | |
---|---|---|
0 | 0.0 | -0.183440 |
1 | 0.2 | -0.131101 |
2 | 0.4 | 0.026888 |
3 | 0.8 | 0.110533 |
4 | 1.0 | 0.253945 |
5 | 1.2 | 0.000000 |
6 | 1.4 | 0.000000 |
7 | 1.6 | 0.579048 |
8 | 2.0 | 0.935181 |
9 | 2.2 | 0.916600 |
10 | 2.6 | 1.133286 |
11 | 2.8 | 1.268933 |
12 | 3.0 | 1.102029 |
13 | 3.4 | 1.133916 |
Manipulação Algébrica
Com uma coluna de dados pode ser feita qualquer manipulação matemática. No exemplo, os dados da coluna de dados "x" serão multiplicados por 10.
Gráfico de dados
x | y | |
---|---|---|
0 | 0.0 | -0.183440 |
1 | 0.2 | -0.131101 |
2 | 0.4 | 0.026888 |
3 | 0.8 | 0.110533 |
4 | 1.0 | 0.253945 |
5 | 1.2 | 0.257190 |
6 | 1.4 | 0.531889 |
7 | 1.6 | 0.579048 |
8 | 2.0 | 0.935181 |
9 | 2.2 | 0.916600 |
10 | 2.6 | 1.133286 |
11 | 2.8 | 1.268933 |
12 | 3.0 | 1.102029 |
13 | 3.4 | 1.133916 |
Aplicações
Um pesquisador deseja investigar todas as raízes das função num intervalo de 0 a 15.
Outra forma usando Try except. Esta forma é interessante pois dá mais segurança ao código de tal forma que se a função não for contínua no intervalo será gerada uma exceção para este intervalo e o algoritmo continua.