Додавання стовпців

Вступ до Polars

Liam Brannigan

Data Scientist and Polars Contributor

Додавання нового стовпця

rentals
shape: (49, 8)
| name     | type    | price | bedrooms | doubles | singles | review | beach |
| ---      | ---     | ---   | ---      | ---     | ---     | ---    | ---   |
| str      | str     | i64   | i64      | i64     | i64     | f64    | bool  |
|----------|---------|-------|----------|---------|---------|--------|-------|
| waves    | cottage | 540   | 4        | 1       | 2       | 8.9    | false |
| seashell | cottage | 540   | 4        | 2       | 2       | 8.7    | true  |
| ...      | ...     | ...   | ...      | ...     | ...     | ...    | ...   |

Вступ до Polars

Додавання нового стовпця

rentals.with_columns(

)
Вступ до Polars

Додавання нового стовпця

rentals.with_columns(
    (pl.col("doubles") * 2
)
Вступ до Polars

Додавання нового стовпця

rentals.with_columns(
    (pl.col("doubles") * 2 + pl.col("singles"))
)
Вступ до Polars

Додавання нового стовпця

rentals.with_columns(
    (pl.col("doubles") * 2 + pl.col("singles")).alias("total")
)
shape: (49, 9)
| name      | type    | ... | doubles | singles | review | beach | total |
| ---       | ---     | ... | ---     | ---     | ---    | ---   | ---   |
| str       | str     | ... | i64     | i64     | f64    | bool  | i64   |
|-----------|---------| ... |---------|---------|--------|-------|-------|
| Waves     | Cottage | ... | 1       | 2       | 8.9    | false | 4     |
| Seashells | Cottage | ... | 2       | 2       | 8.7    | true  | 6     |
| ...       | ...     | ... | ...     | ...     | ...    | ...   | ...   |
Вступ до Polars

.with_columns() чи .select()?

Схема показує, що метод .with_columns додає стовпець до DataFrame.

Вступ до Polars

.with_columns() чи .select()?

Схема показує, що метод .with_columns додає стовпець до DataFrame, тоді як метод .select відбирає підмножину стовпців DataFrame.

Вступ до Polars

Додавання агрегованого стовпця

rentals.with_columns(
    pl.col("price").mean().alias("avg_price"),
)
shape: (49, 9)
| name      | type    | price | ... | review | beach | avg_price |
| ---       | ---     | ---   | ... | ---    | ---   | ---       |
| str       | str     | i64   | ... | f64    | bool  | f64       |
|-----------|---------|-------| ... |--------|-------|-----------|
| Waves     | Cottage | 540   | ... | 8.9    | false | 973.10204 |
| Seashells | Cottage | 540   | ... | 8.7    | true  | 973.10204 |
| ...       | ...     | ...   | ... | ...    | ...   | ...       |
Вступ до Polars

Зміна типу даних стовпця

rentals
shape: (49, 8)
| name     | type    | price | bedrooms | doubles | singles | review | beach |
| ---      | ---     | ---   | ---      | ---     | ---     | ---    | ---   |
| str      | str     | i64   | i64      | i64     | i64     | f64    | bool  |
|----------|---------|-------|----------|---------|---------|--------|-------|
| waves    | cottage | 540   | 4        | 1       | 2       | 8.9    | false |
| seashell | cottage | 540   | 4        | 2       | 2       | 8.7    | true  |
| ...      | ...     | ...   | ...      | ...     | ...     | ...    | ...   |
Вступ до Polars

Зміна типу даних стовпця

rentals.with_columns(
  pl.col("bedrooms").cast(pl.Int16)
)
shape: (49, 8)
| name      | type    | price | bedrooms | doubles | singles | review | beach |
| ---       | ---     | ---   | ---      | ---     | ---     | ---    | ---   |
| str       | str     | i64   | i16      | i64     | i64     | f64    | bool  |
|-----------|---------|-------|----------|---------|---------|--------|-------|
| Waves     | Cottage | 540   | 4        | 1       | 2       | 8.9    | false |
| Seashells | Cottage | 540   | 4        | 2       | 2       | 8.7    | true  |
| Lake view | Cottage | 714   | 3        | 1       | 4       | 9.2    | true  |
Вступ до Polars

Перейменування стовпців

rentals
shape: (49, 8)
| name     | type    | price | bedrooms | doubles | singles | review | beach |
| ---      | ---     | ---   | ---      | ---     | ---     | ---    | ---   |
| str      | str     | i64   | i64      | i64     | i64     | f64    | bool  |
|----------|---------|-------|----------|---------|---------|--------|-------|
| waves    | cottage | 540   | 4        | 1       | 2       | 8.9    | false |
| seashell | cottage | 540   | 4        | 2       | 2       | 8.7    | true  |
| ...      | ...     | ...   | ...      | ...     | ...     | ...    | ...   |

Вступ до Polars

Перейменування стовпців

rentals.rename({
  "doubles": "double_beds",
  "singles": "single_beds",
})
shape: (49, 8)
| name      | type    | price | ... | double_beds | single_beds | review | beach |
| ---       | ---     | ---   | ... | ---         | ---         | ---    | ---   |
| str       | str     | i64   | ... | i64         | i64         | f64    | bool  |
|-----------|---------|-------| ... |-------------|-------------|--------|-------|
| Waves     | Cottage | 540   | ... | 1           | 2           | 8.9    | false |
| Seashells | Cottage | 540   | ... | 2           | 2           | 8.7    | true  |
| ...       | ...     | ...   | ... | ...         | ...         | ...    | ...   |
Вступ до Polars

Вилучення стовпця

rentals.drop("review", "beach")
shape: (49, 6)
| name      | type    | price | bedrooms | doubles | singles |
| ---       | ---     | ---   | ---      | ---     | ---     |
| str       | str     | i64   | i64      | i64     | i64     |
|-----------|---------|-------|----------|---------|---------|
| Waves     | Cottage | 540   | 4        | 1       | 2       |
| Seashells | Cottage | 540   | 4        | 2       | 2       |
| ...       | ...     | ...   | ...      | ...     | ...     |
Вступ до Polars

Давайте потренуємось!

Вступ до Polars

Preparing Video For Download...