So no, not a drop in replacement. But not a difficult transition either.
This page explains how Polars differs from Pandas.
https://pola-rs.github.io/polars-book/user-guide/coming_from...
df.with_columns( pl.when(pl.col("c") == 2) .then(pl.col("b")) .otherwise(pl.col("a")).alias("a") )
Seeing the multiple nested pl calls within a single expression just feels odd to me. It's definitely reminiscent of Dplyr but in a much less elegant way.
Another caveat for me is at multiple times in my workflow I drop into R for plots and rpy2 can convert pandas dataframes into equivalent R atomics. With Polars it would be just an additional step of converting to pandas df but just something I need to consider. That said, I've disliked the Pandas syntax for so long that the mental overhead might be well worth it.
Polars has Python API. It's much nicer than the Rust API. Plus the documentation is more complete.