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.