Ciência e Dados
Menu
  • Home
  • Sobre
  • Contato
Menu
3 Estrategias Para Trabalhar com Grandes Conjuntos de Dados em Python

3 Estratégias Para Trabalhar com Grandes Conjuntos de Dados em Python

Posted on 11 de dezembro de 202213 de dezembro de 2022 by David Matos

Como Cientista de Dados, é bastante comum ter que lidar com “Big Data”, que corresponde a conjuntos de dados que, embora possam não ser tão grandes, são grandes o suficiente para fazer um computador lutar para processá-los.

Este problema não é novo e, como em tudo, não existe uma fórmula mágica de tamanho único. O melhor método dependerá dos seus dados e do seu objetivo final.

No entanto, as soluções mais populares geralmente se enquadram em uma das categorias descritas abaixo, estratégias para trabalhar com grandes conjuntos de dados em Linguagem Python.

1- Reduza o uso de memória otimizando os tipos de dados

Ao usar o Pandas para carregar dados, ele inferirá automaticamente os tipos de dados, a menos que seja informado o contrário. Na maioria das vezes isso funcionará bem, mas o tipo inferido não é necessariamente otimizado. Além disso, se uma coluna numérica contiver valores ausentes, o tipo inferido será automaticamente flutuante, aumentando o espaço ocupado na memória do computador.

Para esse caso em particular, especificar os tipos de dados pode levar a uma importante redução da memória utilizada. Usar o tipo Pandas pandas.Int16Dtype para forçar uma coluna contendo valores ausentes a ser do tipo int pode ser uma boa solução. Isso é alcançado internamente usando pandas.NA em vez de numpy.nan para os valores ausentes.

Otimizar dtypes ao lidar com grandes conjuntos de dados requer já ter algum conhecimento prévio dos dados com os quais você está lidando. Pode não ser útil em uma fase puramente exploratória de um conjunto de dados desconhecido.

2- Divida os dados em partes

Quando os dados são muito grandes para caber na memória, você pode usar a opção chunksize do Pandas para dividir os dados em pedaços em vez de lidar com um grande bloco. O uso dessa opção cria um objeto iterador que pode ser usado para percorrer os diferentes fragmentos e realizar filtragem ou análise como faria ao carregar o conjunto de dados completo.

Chunking pode ser usado desde a análise exploratória inicial até o treinamento de um modelo de Machine Learning e requer muito pouca configuração extra.

3- Aproveite a lazy evaluation

A avaliação preguiçosa (lazy evaluation) refere-se à estratégia que atrasa a avaliação de uma expressão até que o valor seja realmente necessário. Lazy evaluation é um conceito importante (usado especialmente em programação funcional).

A avaliação preguiçosa é a base sobre a qual estruturas de computação distribuída, como Spark ou Dask, são construídas. Embora eles tenham sido projetados para funcionar em clusters, você ainda pode aproveitá-los para lidar com grandes conjuntos de dados em seu computador pessoal.

A principal diferença em relação aos Pandas é que eles não carregam os dados diretamente na memória. Em vez disso, o que acontece durante o comando de leitura é que eles verificam os dados, inferem dtypes e os dividem em partições. Grafos computacionais são construídos para essas partições de forma independente e são executados apenas quando realmente necessário (daí a preguiça).

A sintaxe do Dask, por exemplo, imita o Pandas, por isso parecerá muito familiar, no entanto, é limitado ao uso em Python, enquanto o Spark também funcionará em Java ou Scala.

Outras bibliotecas, como Vaex ou Modin, oferecem recursos semelhantes.

David Matos

Referências:

Python Fundamentos Para Análise de Dados

3 ways to deal with large datasets in Python

Compartilhar

  • Clique para compartilhar no X(abre em nova janela) 18+
  • Clique para compartilhar no Facebook(abre em nova janela) Facebook
  • Clique para compartilhar no LinkedIn(abre em nova janela) LinkedIn
  • Clique para compartilhar no WhatsApp(abre em nova janela) WhatsApp
  • Clique para compartilhar no Telegram(abre em nova janela) Telegram
  • Clique para compartilhar no Tumblr(abre em nova janela) Tumblr
  • Clique para compartilhar no Pinterest(abre em nova janela) Pinterest

Relacionado

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Buscar

Tags Mais Comuns nos Posts

Agentes de IA Analytics Análise de Negócios Apache Spark AWS Big Data Blockchain Business Intelligence ChatGPT Cientista de Dados Cientistas de Dados Ciência de Dados Cloud Computing Data Lake Data Mesh Data Science Data Scientist Data Warehouse Deep Learning Deploy Engenharia de Dados Estatística GPU GraphRAG Hadoop IA Generativa Inteligência Artificial Internet of Things Linguagem Python Linguagem R LLM LLMs Machine Learning MCP (Model Context Protocol) Metadados Normalização NVIDIA Oracle Pipeline de Dados Predictive Analytics Probabilidade PySpark Python RAG Storytelling

Histórico de Posts

  • maio 2025 (6)
  • abril 2025 (2)
  • março 2025 (4)
  • fevereiro 2025 (8)
  • janeiro 2025 (5)
  • dezembro 2024 (4)
  • novembro 2024 (1)
  • outubro 2024 (1)
  • setembro 2024 (1)
  • agosto 2024 (1)
  • julho 2024 (3)
  • junho 2024 (1)
  • maio 2024 (1)
  • abril 2024 (2)
  • março 2024 (1)
  • fevereiro 2024 (1)
  • janeiro 2024 (1)
  • dezembro 2023 (1)
  • outubro 2023 (2)
  • setembro 2023 (1)
  • agosto 2023 (4)
  • julho 2023 (2)
  • junho 2023 (4)
  • maio 2023 (2)
  • abril 2023 (2)
  • março 2023 (3)
  • fevereiro 2023 (3)
  • janeiro 2023 (3)
  • dezembro 2022 (7)
  • novembro 2022 (6)
  • outubro 2022 (2)
  • setembro 2022 (3)
  • agosto 2022 (2)
  • julho 2022 (2)
  • junho 2022 (3)
  • maio 2022 (1)
  • abril 2022 (3)
  • março 2022 (1)
  • fevereiro 2022 (3)
  • janeiro 2022 (2)
  • dezembro 2021 (1)
  • novembro 2021 (5)
  • outubro 2021 (2)
  • setembro 2021 (3)
  • agosto 2021 (1)
  • junho 2021 (1)
  • fevereiro 2021 (2)
  • janeiro 2021 (1)
  • dezembro 2020 (1)
  • novembro 2020 (1)
  • outubro 2020 (2)
  • agosto 2020 (1)
  • abril 2020 (1)
  • março 2020 (1)
  • fevereiro 2020 (2)
  • agosto 2019 (1)
  • abril 2019 (1)
  • setembro 2018 (2)
  • julho 2018 (1)
  • junho 2018 (3)
  • abril 2018 (1)
  • março 2018 (1)
  • fevereiro 2018 (2)
  • janeiro 2018 (1)
  • dezembro 2017 (1)
  • novembro 2017 (1)
  • outubro 2017 (1)
  • setembro 2017 (1)
  • julho 2017 (1)
  • junho 2017 (1)
  • maio 2017 (2)
  • abril 2017 (1)
  • janeiro 2017 (1)
  • novembro 2016 (1)
  • outubro 2016 (1)
  • setembro 2016 (1)
  • julho 2016 (1)
  • junho 2016 (1)
  • maio 2016 (1)
  • abril 2016 (1)
  • fevereiro 2016 (1)
  • janeiro 2016 (3)
  • dezembro 2015 (4)
  • novembro 2015 (6)
  • outubro 2015 (9)
  • setembro 2015 (9)
  • agosto 2015 (9)
©2025 Ciência e Dados
Menu
  • Home
  • Sobre
  • Contato