Skip to content

Pandas Script, uma lingaguem para visualizar e gerenciar dados.

Notifications You must be signed in to change notification settings

cassiofb-dev/pandasscript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pandas Script

Linguagem baseada no Pandas e feita com Python.

IntroduçãoFuncionalidadesComo usarExemploDocumentaçãoProduções e Ações SemânticasCréditosLicense

screenshot

Introdução

O Pandas Script é uma linguagem simples de alto nível que tem como objetivo simplificar e agilizar a visualização e gerenciamento de dados como CSV.

Funcionalidades

  • PS Shell - Shell interativo
    • Faça programas curtos, checagens rápidas ou aprendizado dinâmico.
  • Parse de Arquivos
    • Para programas longos e complexo
  • Suporte para
    • Inteiros
    • Floats
    • Strings
  • Operações com arquivos
    • Leitura
    • Escrita
    • Selecionar
    • Cortar
    • Gerar gráfico simples
  • Arquivos online
    • Leitura de arquivos pode ser através de uma URL
  • Informações estatísticas - Calcule
    • Média
    • Mediana
    • Desvio Padrão

Como usar

Video de apresentação.

Para clonar e rodar essa aplicação, você irá precisar Git, Python. Pelo seu terminal:

# Clone o repositório
git clone https://github.com/cassiofb-dev/pandasscript

# Entre no repositório
cd pandasscript

# Instale as dependências
pip install numpy
pip install pandas

# Rode a aplicação
py main.py

Exemplo

covid_data  = LOAD "https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv"
brazil_data = CUT 30 31 covid_data
deaths      = CUT 474 484 brazil_data 1
PLOT deaths "Mortes por COVID"

Rodando o exemplo no terminal:

py main.py .\example\covid_death.ps

Gráfico gerado: covid

Árvore de geração utilizada caso a linha 2 fosse um print no lugar de um asssing: arvore

Documentação

  • py main.py
    • Executa o shell
  • py main.py help
    • Executa o comando de ajuda
  • py main.py license
    • Executa o comando de licensa
  • py main.py copyright
    • Executa o comando de copyright
  • py main.py filePath
    • Executa o parse de um arquivo

Produções e Ações Semânticas

Observações:

  • Tokens em caixa alta
  • Funções completas das ações sintáticas podem ser encontradas no código de funções, elas são utilizadas atráves do módulo psf
  • Tokens dos operadores substituido pelos próprios para simplificação da leitura (Ex: "=" ficará no lugar de "ASSIGN")
Grammar                                         Action
------------------------                        ---------------------------------
statement : PRINT expr                          print(expr.val)
          | SAVE ID STRING                      psf.save(ID.val, STRING.val)
          | ID = expr                           ID.val = expr.val
          | expr                                ---

expr0     : expr1 + expr2                       expr0.val = expr1.val + expr2.val
          | expr1 - expr2                       expr0.val = expr1.val - expr2.val
          | expr1 * expr2                       expr0.val = expr1.val * expr2.val
          | expr1 / expr2                       expr0.val = expr1.val / expr2.val
          | (expr1)                             expr0.val = expr1.val
          | FLOAT                               expr0.val = float(FLOAT.val)
          | INT                                 expr0.val = int(INT.val)
          | STRING                              expr0.val = string(STRING.val)
          | ID                                  self.ids[ID.val]
          | COLUMNS ID                          expr0.val = psf.columns(self.ids[ID.val])
          | LOAD STRING                         expr0.val = psf.load(STRING.val)
          | CUT INTEGER1 INTEGER2 ID            expr0.val = psf.cut(INTEGER1.val, INTEGER2.val, self.ids[ID.val])
          | CUT INTEGER1 INTEGER2 ID INTEGER3   expr0.val = psf.cut(INTEGER1.val, INTEGER2.val, self.ids[ID.val], INTEGER3.val)
          | MEDIAN expr1                        expr0.val = psf.median(expr1.val)
          | MEAN expr1                          expr0.val = psf.mean(expr1.val)
          | STD expr1                           expr0.val = psf.std(expr1.val)
          | select                              expr0.val = select.val
          | PLOT ID STRING                      psf.plot(self.ids[ID.val], STRING.val)

select    : SELECT STRING STRING FROM expr      psf.select_from(STRING0.val, STRING1.val, expr.val)
          | SELECT STRING FROM expr             psf.select_from(STRING.val, None, expr.val)
          | SELECT FROM expr                    psf.select_from(None, None, expr.val)

Créditos

Essa aplicação utiliza os seguintes projetos de código aberto:

Inspiração do README electron-markdownify.

License

MIT


Acesse meu site  ·  GitHub @cassiofb-dev  ·  Twitter @cassiofb_dev