Estratégias que NÃO TE ENSINAM para trabalhar com dados GIGANTES no PYTHON
Вставка
- Опубліковано 4 жов 2024
- Conheça a trilha Python para Data Science e Machine Learning,:
asimov.academy...
Saber utilizar o Pandas adequadamente para processar arquivos gigantes é uma habilidade que apenas cientistas de dados avançados dominam.
Ao longo dos últimos 10 anos trabalhei aplicando Data Science no desenvolvimento de estratégias de investimento e precisava lidar com arquivos absurdamente pesados... tabelas que somadas chegavam a 50TB... e para realizar simulações adequadamente, aprendi uma série de técnicas diferentes. Neste vídeo compartilho algumas delas.
Impressionante essa estratégia de ajustar os tipos de dados que sao lidos como object! Em um dataframe aqui de exercicios que estava fazendo originalmente fora lido com 63 MB. Após simplesmente ajustar os tipos de dados de 05 colunas o tamaho do dataset foi reduzido para 29 MB. Um ganho (reduçao) de 46%. Muito obrigado por esta videoaula.
Excelente! Estou construindo um projeto para operar no mercado e meu market data possui 13 milhões de linhas, vai me ajduar demais!!!!
Essa aula ensina muito mais que uns cursos completo por ai viu, parabens!!
Ensina mais que minha faculdade da puc.
Ótimo conteúdo como sempre, um assunto extremamente importante, tipo de dados para processamento, otimizar tempo porque é uma coisa valiosa demais para perder.
Ótimo vídeo! Estou lendo um livro chamado: “Python para Análise de Dados”, e coincidentemente hoje mesmo estava lendo um capítulo sobre os tipos de arquivos que o Pandas lê e apareceu esse formato de arquivo Apache Parquet. Muito bom 👏🏻👏🏻👏🏻
Qual o nome do livro?
@@Ragnarok906 Python para Análise de Dados - 3ª edição do Wes McKinney.
Poxa isso sim que é aula pratica de verdade! O rigado mestre!
Fantástico, incrível e surpreendentemente útil... São vídeos assim que mudam radicalmente algumas práticas e costumes que temos.
Vídeo simplesmente incrível, ainda não tenho muito conhecimento sobre Python e muito menos Python aplicado no dia-dia (para análises variadas...) contudo seu vídeo foi bem explicativo, despertou meu interesse em aprender bem mais
Ficamos felizes que tenha gostado e que despertou o seu interesse. Nos chama no whatsapp para que possamos te apresentar a escola. Nosso WhatsApp é: wa.me/555197100833
Se você precisa utilizar 'groupby', faça antes de transformar em 'category', se não vai retornar um erro de tamanho excedente
Uau... excelente dica. Muitíssimo obrigado.
@@hygosousa1170 nós que agradecemos!
Seria possível, com o pandas, particionar os dados em diretórios, como fazemos com o PySpark ? Por exemplo, se um df tiver dados de 3 anos diferentes, as partições seria 1 diretório pra cada ano + 1 diretório pra cada mês.
Oi, Samuel, é possível sim, é um processo bem tranquilo. Para ser sincero, eu não conheço nenhuma forma de fazer isto nativamente no Pandas (uma função dele que faça isto para você), mas eu costumava fazer exatamente isto que você descreveu através de um for loop que iterava sobre meses e anos do DataFrame. e exportava meus dados de negociações da bolsa em diversas pastas. Não dá nem 10 linhas de código.
Abraços!
Não faz sentido fazer isso. Existem outras libs específicas para tratar big data com máquinas fracas como o dask e o Polars. Se você quiser pode até usar depois pandas mas faz muito mais sentido continuar usando essas ferramentas ao invés de pandas que nem paraleliza
Ainda mais rápido e mais leve que o .parquet, seria o .feather. Lembrando que não pode ter valores NaN, e também necessita do pacote pyarrow instalado
Bacana, tem vídeos no canal sobre essa análise de trades in time e livro de ofertas?
Pouco é falado do DuckDB nos canais BR. O vídeo é muito bom, mas está bem desatualizado em relação as opções para processamento OLAP.
Caralho, esse vídeo foi FODA.
Muito maneiro mesmo.
Fico feliz que tenha te ajudado! Abração!!
Show de bola! Excelente vídeo. Parabéns e sucesso!
Fico feliz que tenha gostado! Abraços, Geovani!
Existe um banco tipo newsql/ nosql especializado em CSV
excelente explicação
Muito bom!
Como você configurou o seu pycharm pra visualizar as execuções assim!?
Bom dia. Sabe me dizer se é possivel combinar dados de ativos ou tirar o spread de ativos e criar um gráfico sintético com a combinação desses ativos e acompanhar em tempo real com Python? Por exemplo juros de 10 anos dos EUA (us10y) -(subtração) pelo juros da alemanha de dez anos(de10y) e gerar um gráfico
Olá! É possível, sim, desde que tenha acesso a market data.
Muito bom! Obrigado.
Nós que agradecemos. Sucesso!
Pra quem tem o mínimo de noção em python, acho que nem desenhando ficaria tão claro.
🤣🤣👏🏼👏🏼👏🏼👏🏼
Como se executa no terminal interativo?
Puts, dica de ouro! Adiantou 01 ano de estudo em poucos minutos rsrsrs
Fico feliz que tenha ajudado! Abraços!!
Top demais os vídeos! Consegue um cupom de desconto pra quem está pensando em assinar o curso no site?
Olá, Rodrigo! Fale com um de nossos consultores pelo WhatsApp wa.me/555197100833
Iremos ajudá-lo a encontrar a melhor solução!
Muito bom! Tem algum vídeo de como criar esse terminal interativo?
Oi, Pedro, tem sim! Neste vídeo eu explico o passo a passo:
ua-cam.com/video/ol_S9G0nCNE/v-deo.html&ab_channel=AsimovAcademy
Abraços!
Ótimo!
Uma dúvida, estou utilizando o sqlite3 pois o desempenho para leitura dos dados é significativamente maior do que o mysql. Considera que seria recomendável utilizar esse .parquet neste caso? O sqlite3 foi apenas uma maneira que encontrei ir guardando e organizando os dados através de arquivos.
Sugiro fazer o teste. Extraia os dados da sua base sql, salve em parquet e faça uma comparação no tempo de leitura. Melhor sempre validar antes de fazer grandes mudanças.
Muito bom, onde encontro esse dataset? gostaria de reproduzir esse estudo.
Site kaggle
Oi, Fabricio. Infelizmente peguei este dataset no Kaggle há bastante tempo e perdi sua origem. Mas existem muitos datasets semelhantes lá produzirão o mesmo resultado. Este aqui é um exemplo:
www.kaggle.com/datasets/giovamata/airlinedelaycauses
Abraços!
Excelente vídeo! Experimento isso na prática com os datasets do ENEM. Normalmente para fazer a leitura sem estourar a memória, faço testes de ler partes (seleciono) de linhas ou colunas do dataset. Vou experimentando até chegar a capacidade máxima de memória. Carregar o dataset inteiro estoura a memória. Alguma sugestão de como conseguir um dataset grande otimizando a memória. Não conseguiria aplicar essas duas técnicas que mostrou, sem carregar o dataset inteiro. Em minha máquina ou nas máquinas virtuais (colab) da Google, não consigo carregar um dataset completo para leitura e aplicar essa técnica. Sugestões são bem vindos!!!
Absss ❤
Tu poderia passar o link do kaggle pra tentar acompanhar o teu código?
Oi, Murilo. Infelizmente peguei esse dataset no Kaggle há bastante tempo e perdi sua origem. Mas existem muitos datasets semelhantes lá produzirão o mesmo resultado. Este aqui é um exemplo:
www.kaggle.com/datasets/giovamata/airlinedelaycauses
Abraços!
onde eu consigo esse arquivo de exemplo?
Olá! Infelizmente peguei esse dataset no Kaggle há bastante tempo e perdi sua origem. Mas existem muitos datasets semelhantes lá que produzirão o mesmo resultado. Este aqui é um exemplo:
www.kaggle.com/datasets/giovamata/airlinedelaycauses
Abraços!
Fui instalar o pandas, direciona para o site para instalar o Anaconda que tem varias libs. Quando eu copio o pandas.py e importo o pandas começa a pedir outras dependencias da lib e quanto mais eu copio no diretorio que estou testando, mais dependencia surge, tem como resolver isso? Ou tem outra forma de instalar/usar o pandas no python?
Alguma outra forma para importação mais rapida de importar SQL? tenho usado o chunk, existe alguma outra forma?
Olá, Denis! Isso depende de várias questões (qual banco SQL usa, como é o ambiente dele, onde o banco é hospedado etc.).
13:53
👋👋👋
.
Porque o python não mostra todo conteudo da planilha? tenho um planilha de 41 mil linhas, onde tem dados de idade, começa na idade 17, quando chega no 36, ai pula 89, fica aparecendo só os risquinhos, exemplo abaixo,
33 1833
36 1780
35 1759
...
89 2
91 2
Porque gasta memória ram. Se quiser visualizar tudo é melhor trabalhar com Excel