I see your pandas (even the arrow based pandas 2.0) and raise you polars. ;)
(
polars_df1
.join(polars_df2, on=['state', 'county', 'timestamp'], suffix='_r')
.with_column(
( pl.col('val') + pl.col('val_r')).alias('val')
)
.select(['state', 'county', 'timestamp', 'val'])
)
and raise you: pandas_df1 + pandas_df2Polars:
polars_df.with_column(
pl.when(pl.col('timestamp').is_between(
datetime('2023-03-01'),
datetime('2023-03-31'),
include_bounds=True
)).then(pl.col('val') * 1.1)
.otherwise(pl.col('val'))
.alias('val')
)
Pandas: pandas_df.loc['2023-03'] *= 1.1