O que você disse sobre memória é real!
Aqui na empresa eu já lidei com um projeto em que um dataframe ocupava mais ou menos 8GB, então eu não podia manter outras variações dele em outras variáveis porque atingia o limite de RAM.
Nesse caso, Wilian, não seria melhor usar outro manipulador? Não lembro os nomes de imediato, mas sei que tem outras opções mais eficientes com Df's maiores!
Acredito que sim. Acabei testando alguns, mas pra migrar o projeto pra outra biblioteca, mesmo que seja muito parecida com o pandas, demandaria muito tempo, tanto pra mim quanto pro pessoal aqui do trabalho que tem um conhecimento básico.
Então com alguns ajustes consegui salvar bastante memória em momentos de stress do processo e ficou por aí. Mas não vou descartar a possibilidade de usar outras libs no futuro caso apareça algum projeto ainda maior.
E ah, eu lembro de ter testado o Dask!
Você poderia também buscar maneiras de compactar, acredito, como diminuir float64 para 32, mudar floats inteiros para uint..
Nunca pensei nisso! Nem sabia que fosse possível.
só é necessário se atentar aos limites reais das colunas, de acordo com a quantidade de bits...
Por exemplo, não faz sentido usar float para idade, pode usar uint8 que tem 8 bits de limite, que é mais que suficiente!
O método é `df.col=df.col.astype("uint8")`
Pode-se usar loc tbm, ou como preferir