A comparação entre as plataformas R e Python começou há um tempo quando resolvi experimentar um sistema para edição e processamento de scripts chamado Jupyter Notebook, o qual é desenvolvido em Python.
Até então sempre usei R. Aparentemente seria um processo tranquilo de instalar um aplicativo, aí que o bicho pegou! Como resultado, escrevi o seguinte comentário no Linkedin:
“Para quem quer fugir das limitações do Excel rumo à para uma linguagem estatística e de negócios intuitiva, o caminho é o R (a minha visão até o momento). Fiz testes com o Python, seu concorrente, e fiquei bastante frustrado com a quantidade de parametrizações, centenas de pacotes interdependentes misturados, mal documentados e com diversas versões incompatíveis entre si. Dizem que a linguagem Python é super fácil e intuitiva, mas até ter a plataforma pronta para trabalhar, o analista de dados já perdeu a orientação de negócios e se tornou um técnico em infraestrutura de rede e sistemas operacionais. Aí o boi já foi com a corda…”
Resultado, não imaginaria o quão frutífera seria a discussão e por isso segue as reflexões neste post. Antes de falar propriamente do R ou Python, vou apontar algumas das limitações mais críticas do Excel no ponto de vista de gestor e analista de dados.
Vantagens do Excel
Primeiramente o Excel é uma ferramenta de análise tão poderosa e abrangente que concorre com praticamente tudo, desde o rascunho feito em papel de saco de pão até os sistemas mais avançados de gestão. Se você já desenvolveu software, já ouviu algo do tipo:
- Mas isso eu não posso fazer em Excel?
- Mas depois ele exporta pra Excel, né?
Além disso, algumas funcionalidades do Excel são matadoras. Por exemplo, quando ensinamos alguns alunos a função “Planilha Dinâmica” com 3 cliques, elas entram em estado de euforia plena (recomendo muito investigar isso, em inglês Pivot Table).
Funcionalidade com garantia de muitas horas de trabalho economizadas. De fato, o Excel é uma ferramenta poderosíssima de análise e assim como a sua antecessora, a calculadora, ela é assetorizada (palavra nem existe em português, pois são poucas as ferramentas que podem rodar em qualquer área).
Limitações do Excel em Análise Avançada de Dados
Como uma solução de uso geral, as limitações do Excel para Advanced Analytics são:
- Automação da higienização e tratamento de dados em grande escala para processamentos de algoritmos de mineração de dados.
- Incompatibilidade com formatos de arquivos, geralmente devem ser transformados para .XLSX ou é necessário fazer algumas manobras por dentro dele para acertar a formação de “.CSV” por exemplo.
- Os arquivos no seu formato “.XLSX” têm um limite de até 1.048.576 linhas e 16.384 colunas. A versão anterior “.XLS”, apenas 65.536 por 256 colunas. Dependendo da análise esse limite já se torna crítico.
- Não é uma ferramenta gratuita como o seu concorrente direto LibreOffice ou Google Docs. O valor de mercado varia de R$ 500,00 a R$700,00 e deve ser pago, sobre tudo pelos profissionais que estiverem analisando dados de fraudes. O subconsciente não aceita bem essas situações.
- A manutenção das customizações se torna caótica se forem implementadas muitas regras.
- Difícil automatizar relatórios. Já ouvi muito, o jargão, “Vê lá com o guri do Excel”.
Características chaves do R e do Python
Abaixo, relaciono algumas características chaves (não todas, claro) destas ferramentas R e Python para Advanced Analytics:
- Manipulação de dados em grandes quantidades.
- Automação e replicabilidade das análises.
- Leitura de diversos tipos de formatos diferentes de fontes diversas de informação, até em tempo real, incluindo o próprio .XLSX.
- Gestão do projeto e manutenção dos códigos estruturados.
- Gratuitos e de livre distribuição.
- Multi-plataforma.
- Integração com centenas de algoritmos de inteligência artificial conhecidos como Machine Learning.
Fazendo algumas pesquisas, achei este gráfico bastante relevante comparando a curva de aprendizado do R versus do Excel, que simplificando quer dizer que, coisas de pouca complexidade são fáceis de fazer em Excel e difíceis em R, já tarefas mais robustas são difíceis de fazer no Excel e fáceis no R. Pode se incluir o Python também junto ao R.
Tendo a oportunidade de conhecer o cenário de trabalho das principais empresas do país, a grande maioria da minha amostragem pessoal, está lá na dificuldade 75 do eixo Y do Excel com uma série de cobranças por resultados práticos que, às vezes, são feitas apenas pela intuição. Poucos estão conseguindo chegar a aplicações reais de Machine Learning, por culpa deste gargalo no meio do caminho da preparação dos dados. Dizemos que o tratamento de dados garante emprego e renda.
Afinal, é melhor aprender R ou Python?
Cientista de dados, ocupam grande parte da cognição analisando duas coisas:
- Dados.
- Ferramentas de análise de dados (sempre estão surgindo coisas novas).
Levando em consideração a limitação de tempo para estudo, e que os finais de semana são finitos, as linguagens R e Python acabam colidindo e gerando uma bifurcação no caminho dos analistas que devem decidir entre uma ou a outra para resolver os gargalos do Excel. Abaixo está o sumário dos comentários mais interessantes que vi no Linkedin, e espero que isso possa ajudar quem está enfrentando este dilema:
O ideal é aprender as duas linguagens, mas a decisão parece depender principalmente do background profissional e dos objetivos do analista como segue:
- Se o background está baseado na área de gestão como: administração, economia e contabilidade e seu objetivo é a tomada de decisão e geração de relatórios. Minha opinião é focar em R. O Rstudio se apresenta de forma muito íntegra tanto em compatibilidade com os sistemas operacionais como em sua documentação no padrão R, que é ótimo para o aprendizado e tem uma base estatística muito rica, além de relatórios com alta qualidade gráfica. A questão estética conta mais do que se imagina no mundo dos negócios.
- Se o background for de áreas de desenvolvimento de software tais como: Ciências da Computação, Automação e Engenharias e o foco do trabalho é a criação de ferramentas de análise com robustez, melhor Python. Ainda, leva vantagens em algumas bibliotecas de mineração de texto e de Machine Learning.
O Python é uma linguagem robusta e genérica suficiente para entrar em qualquer área, colidindo na estatística com R e desenvolvimento de plataforma com JAVA/SCALA, que a propósito é a linguagem que utilizamos para a construção do Aquarela Vorteris.
Aconteceu comigo
Vou compartilhar um fato que aconteceu comigo: queria fazer um teste com um sistema simples e feito em Python. Porém, a documentação me levou a instalar um pacote gigantesco chamado Anaconda que, por sua vez, conflitou com a versão Python 2.7 e 3 tanto no MAC como no Linux Centos 7.
Pesquisando com amigos geeks, explicaram-me que houve uma mudança bastante grande entre essas versões e que também existem diversas outras formas de ter instalado o Jupyter.
Enfim, voltando ao texto inicial é importante que as ferramentas não desvirtuem a orientação de negócio, principalmente daqueles com perfil de gestão.
Finalizando, independente da linguagem que você escolher, desejo bastante sucesso nos seus projetos. A otimização das empresas e organizações é o fortalecimento do nosso país. Vamos em frente!
Veja outros estudos
- O que é Data Analytics?
- 7 Motivos para investir em capacitação de Advanced Analytics
- O que é Data Mining (mineração de dados)?
- Indústria 4.0 e a transformação Digital
- 14 setores para Big Data e os dados necessários para análises
- Otimizando a gestão de pessoas com inteligência artificial
Quem é a Aquarela Analytics?
A Aquarela Analytics é vencedora do Prêmio CNI de Inovação e referência nacional na aplicação de Inteligência Artificial Corporativa na indústria e em grandes empresas. Por meio da plataforma Vorteris, da metodologia DCM e o Canvas Analítico (Download e-book gratuito), atende clientes importantes, como: Embraer (aeroespacial), Scania, Mercedes-Benz, Grupo Randon (automotivo), SolarBR Coca-Cola (varejo alimentício), Hospital das Clínicas (saúde), NTS-Brasil (óleo e gás), Auren, SPIC Brasil (energia), Telefônica Vivo (telecomunicações), dentre outros.
Acompanhe os novos conteúdos da Aquarela Analytics no Linkedin e assinando a nossa Newsletter mensal!
Autor
Fundador e Diretor Comercial da Aquarela, Mestre em Business Information Technology com especialização em logística – Universiteit Twente – Holanda. Escritor e palestrante na área de Ciência e Governança de Dados para indústria e serviços 4.0.
11 Comments
[…] O conjunto de dados (1580942 linhas) ultrapassa o limite de linhas que o Excel ou LibreOffice são capazes de processar – Mais informações neste post sobre os limites do Excel. […]
[…] seus conhecimentos em R, Python ou Scala. Aqui um post falando sobre R e […]
Prezado professor,
Atualmente desenvolvi um banco de dados em Excel via VBA para cadastro e Consulta de cliente e vendas. Gostaria de saber se seria mais prático fazer isso utilizando outra linguagem de programação como o Python, Java, Delphi ou alguma outra.
Concerteza
Acho que vai depender muito dos requisitos da solução, lembrando que cada stack tecnológico tem suas virtudes – https://aquare.la/o-que-e-um-stack-tecnologico/
a partir de 2016 o excel cobre a maior parte das deficiências apontadas no artigo. mesmo sem usar VBA. trabalha com milhões de linhas, tem ferramenta para automação na limpeza e estruturação dos dados, permite usar esquemas (star, snow flake, como exemplos), importa dados de fontes variadas e integra com o R, se for necessário usar o pacote estatistico.
continua insuperado pra resolver mais de 80% dos problemas de análise de dados do dia a dia.
Olá Alcimar, obrigado pela atualização.
Essa informação realmente enriquece a discussão, com o crescimento da quantidade de dados as ferramentas não precisar continuar sempre evoluindo assim como nós tecnicamente. Achei, particularmente interessante, a Microsoft lançar o seu próprio R e tornar as soluções mais integráveis umas com as outras. No final do dia, seja A ou B, alguém precisa fazer os cálculos.
Obrigado pelo ótimo artigo.
Sou estudante de Ciências Contábeis e seu artigo me serviu feito uma luva.
O Microsoft Excel é uma multiferramenta com muito recursos, um fato inegável, para quem o domina, consegue tirar leite de pedra com as mais mirabolantes formulas e scripts. Já vi Cientista de Dados, Engenheiro, Hobistas, etc., fazer cada coisa com Microsoft Excel que até Tio Bill dúvida, principalmente quando tem Brasileiro metido no meio, aí o bicho pega, gambiarra pra cá e jeitinho pra lá, deixando qualquer profissional da área se perguntando como isso foi feito e sé isso é possível isso ser feito nessa realidade.
O Microsoft Excel tem seus limites, Tio Bill sabe disso, o programa foi criado para um proposito e ir, além disso, até vai, mas não sem conseqüências. Por isso comecei a buscar uma alternativa, e como autor do artigo, me deparei com “R” e “Python”, só vi elogios de ambas, bem como problemas, tentei às duas opções, e tive os mesmos problemas.
Quero voltar a contabilidade para ciências dados e ofertar aos meus clientes informações mais seguras e relevantes, portanto, somente a ciência de dados consegue fazer isso, querendo ou não, essas duas linguagens são as principais ferramentas, foram feitas para isso. Posso apertar um parafuso com uma multiferramenta, posso, mas se tenho uma ferramenta especifica, uma chave de fenda, porque não usar.
No meu caso estudar uma das duas e um fato, ideal seria às duas, mas o meu tempo não me permite, portanto, a questão é qual das duas.
E o presente artigo me ajudou nessa questão.
Redundantemente,
Obrigado pelo artigo.
Que legal Lyo, obrgiado pela seu comentário. Ficamos gratos em saber que o conhecimento está sendo útil! Vamos continuar produzindo coisas legais e úteis aqui no blog!
Olá, mestre.
Atualmente, com as IA e tantos softwares de análise de dados, para uma análise com mais de 10 milhões de linhas de diversas tabelas, qual ferramenta seria mais eficiente: Tableu, Power BI, ou linguages R ou Python?
Oi Samuel, acredito que o a forma mais eficiente para análises quando o volume ultrapassa dos as 10 milhões de linhas é a combinação de Python com Spark, já faz alguns anos que essas ferramentas estão no ar com funcionalidades bem testadas e evoluídas na comunidade. O próprio GPT chat pode ajudar a montar queries para acelerar o processo.