DeividBraian, na verdade não é uma má prática criar/reatribuiar variáveis, pelo contrário, é a forma padrão que a interface do pandas sugere.

Isso acontece porque o pandas preza pela imutabilidade dos dados, isto é, ao realizar uma operação sobre um dataframe, por padrão o pandas cria um novo dado, ao invés de alterar o dado antigo. Isso é considerado uma boa prática pois evite alguns erros comuns.

Muitas linguagens funcionais utilizam este padrão, Haskell e Rust são exemplos.

Acho que vale a pena utilizar esse modelo Pipeline(O pandas tem uma função pipeline também, não é? 🤔) quando o projeto já está finalizado e não será necessário modificar. Mas na realidade nunca se sabe quando será necessário modificar, né? 🤷‍♂️

É bem difícil dizer o que o pandas sugere, como o @DeividBraian disse, o pandas também trabalha com pipelines.

Então o que eu consigo enxergar são 3 padrões até agora. O jeito pythonico, chained methods e pipes.

E eu acredito que devemos usá-los dependendo da situação.

> É bem difícil dizer o que o pandas sugere Eu quis dizer que o pandas sugere o uso de imutabilidade, por que digo isso? porque as três formas que você citou "o jeito pythonico, chained methods e pipes" não alteram dados, eles criam dados novos. Para alterar, você precisa explicitamente indicar ao pandas que você quer fazer isso atrávez do parâmetro `inplace`. Ou seja, por padrão o pandas usa imutabilidade, pra mim, isso é uma clara sugestão. Entende?