Data Transformation with Polars
Liam Brannigan
Data Scientist & Polars Contributor
$$
$$


$$
$$
$$





import polars as pl
ratings = pl.read_csv("restaurant_ratings.csv")
shape: (5, 5)
| business | location | type | rating | capacity |
| --- | --- | --- | --- | --- |
| str | str | str | f64 | f64 |
|------------------|--------------|------------|--------|----------|
| 7burgers | Wakey Wakey | restaurant | 5.0 | 55.0 |
| Bang Bang Burger | Forest Rd. | restaurant | 4.0 | 55.0 |
| Costa Coffee | City Point | café | 5.0 | 41.0 |
| Costa Coffee | The Moorgate | takeaway | 5.0 | 0.0 |
| The Queens Head | Denman St. | bar | 5.0 | 187.0 |
shape: (3, 5)
| business | location | type | rating | capacity |
| --- | --- | --- | --- | --- |
| str | str | str | f64 | f64 |
|------------------|--------------|------------|--------|----------|
| 7burgers | Wakey Wakey | restaurant | 5.0 | 55.0 |
| Bang Bang Burger | Forest Rd. | restaurant | 4.0 | 55.0 |
| Costa Coffee | City Point | café | 5.0 | 41.0 |
ratings.with_columns(
)
ratings.with_columns(
pl.col("rating").cast(pl.Int64)
)
shape: (5, 5)
| business | location | type | rating | capacity |
| --- | --- | --- | --- | --- |
| str | str | str | i64 | f64 |
|------------------|--------------|------------|--------|----------|
| 7burgers | Wakey Wakey | restaurant | 5 | 55.0 |
| Bang Bang Burger | Forest Rd. | restaurant | 4 | 55.0 |
| Costa Coffee | City Point | café | 5 | 41.0 |
| Costa Coffee | The Moorgate | takeaway | 5 | 0.0 |
| The Queens Head | Denman St. | bar | 5 | 187.0 |
ratings.cast( )
ratings.cast({ })
ratings.cast({pl.Float64: pl.Int64})
shape: (5, 5)
| business | location | type | rating | capacity |
| --- | --- | --- | --- | --- |
| str | str | str | i64 | i64 |
|------------------|--------------|------------|--------|----------|
| 7burgers | Wakey Wakey | restaurant | 5 | 55 |
| Bang Bang Burger | Forest Rd. | restaurant | 4 | 55 |
| Costa Coffee | City Point | café | 5 | 41 |
| Costa Coffee | The Moorgate | takeaway | 5 | 0 |
| The Queens Head | Denman St. | bar | 5 | 187 |
shape: (5, 5)
| business | location | type | rating | capacity |
| --- | --- | --- | --- | --- |
| str | str | str | i64 | i64 |
|------------------|-----------------|------------|--------|----------|
| 7burgers | Wakey Wakey | restaurant | 5 | 55 |
| Bang Bang Burger | Forest Rd. | restaurant | 4 | 55 |
| Costa Coffee | City Point | café | 5 | 41 |
| Costa Coffee | The Moorgate | takeaway | 5 | 0 |
| The Queens Head | Denman St. | bar | 5 | 187 |
.str.contains().str.strip_chars().str.strip_chars_start().str.to_lowercase().str.contains().str.strip_chars().str.strip_chars_start().str.to_lowercase().str.contains().str.strip_chars().str.strip_chars_start().str.to_lowercase()ratings.with_columns(
)
ratings.with_columns(
pl.col("business")
)
ratings.with_columns(
pl.col("business").str.strip_chars_start()
)
shape: (5, 5)
| business | location | type | rating | capacity |
| --- | --- | --- | --- | --- |
| str | str | str | i64 | i64 |
|------------------|--------------|------------|--------|----------|
| 7burgers | Wakey Wakey | restaurant | 5 | 55 |
| Bang Bang Burger | Forest Rd. | restaurant | 4 | 55 |
| Costa Coffee | City Point | café | 5 | 41 |
| Costa Coffee | The Moorgate | takeaway | 5 | 0 |
| The Queens Head | Denman St. | bar | 5 | 187 |
shape: (5, 5)
| business | location | type | rating | capacity |
| --- | --- | --- | --- | --- |
| str | str | str | i64 | i64 |
|------------------|-----------------|------------|--------|----------|
| 7burgers | Wakey Wakey | restaurant | 5 | 55 |
| Bang Bang Burger | Forest Rd. | restaurant | 4 | 55 |
| Costa Coffee | City Point | café | 5 | 41 |
| Costa Coffee | The Moorgate | takeaway | 5 | 0 |
| The Queens Head | Denman St. | bar | 5 | 187 |
ratings.with_columns(
)
ratings.with_columns(
pl.concat_str(
)
ratings.with_columns(
pl.concat_str("business", "location"
)
ratings.with_columns(
pl.concat_str("business", "location", separator=":")
)
ratings.with_columns(
pl.concat_str("business", "location", separator=":").alias("id")
)
shape: (5, 5)
| business | location | type | ... | id |
| --- | --- | --- | --- | --- |
| str | str | str | ... | str |
|------------------|--------------|------------|-----|-------------------------------|
| 7burgers | Wakey Wakey | restaurant | ... | 7burgers:Wakey Wakey |
| Bang Bang Burger | Forest Rd. | restaurant | ... | Bang Bang Burger:Forest Rd. |
| Costa Coffee | City Point | café | ... | Costa Coffee:City Point |
| Costa Coffee | The Moorgate | takeaway | ... | Costa Coffee:The Moorgate |
| The Queens Head | Denman St. | bar | ... | The Queens Head:Denman St. |
Data Transformation with Polars