Code: Select all
import polars as pl
df = pl.from_repr("""shape: (4, 3)
┌──────┬──────┐
│ ccy1 ┆ ccy2 │
│ --- ┆ --- │
│ str ┆ str │
╞══════╪══════╡
│ USD ┆ USD │
│ EUR ┆ USD │
│ EUR ┆ EUR │
│ USD ┆ JPY │
└──────┴──────┘
""")
Code: Select all
df.with_columns(pl.struct('ccy1', 'ccy2')
.map_elements(lambda x: ','.join(sorted(set(x.values()))),
return_dtype=pl.String)
.alias('ccys'))
Code: Select all
shape: (4, 3)
┌──────┬──────┬─────────┐
│ ccy1 ┆ ccy2 ┆ ccys │
│ --- ┆ --- ┆ --- │
│ str ┆ str ┆ str │
╞══════╪══════╪═════════╡
│ USD ┆ USD ┆ USD │
│ EUR ┆ USD ┆ EUR,USD │
│ EUR ┆ EUR ┆ EUR │
│ USD ┆ JPY ┆ JPY,USD │
└──────┴──────┴─────────┘