Menggabungkan DataFrame

Transformasi Data dengan Polars

Liam Brannigan

Data Scientist & Polars Contributor

Data ulasan

shape: (5, 4)
| business         | location    | review | price |
| ---              | ---         | ---    | ---   |
| str              | str         | f64    | i64   |
|------------------|-------------|--------|-------|
| 7burgers         | Wakey Wakey | 4.2    | 15    |
| Bang Bang Burger | Forest Rd.  | 3.8    | 12    |
| Costa Coffee     | City Point  | 4.5    | 8     |
| Costa Coffee     | Waterloo    | 4.1    | 8     |
| The Queens Head  | Denman St.  | 4.7    | 25    |
Transformasi Data dengan Polars

Dataset inspeksi

inspections = pl.read_csv("restaurant_inspections.csv")
shape: (5, 4)
| business        | location    | type       | hygiene_rating |
| ---             | ---         | ---        | ---            |
| str             | str         | str        | i64            |
|-----------------|-------------|------------|----------------|
| 7burgers        | Wakey Wakey | restaurant | 4              |
| Costa Coffee    | City Point  | café       | 5              |
| Costa Coffee    | Waterloo    | café       | 3              |
| The Queens Head | Denman St.  | bar        | 5              |
| Wagamama        | Soho        | restaurant | 4              |
Transformasi Data dengan Polars

Apa itu join?

Diagram yang menunjukkan satu DataFrame.

Transformasi Data dengan Polars

Apa itu join?

Diagram yang menunjukkan dua DataFrame.

Transformasi Data dengan Polars

Apa itu join?

Diagram yang menunjukkan dua DataFrame dengan kunci yang cocok disorot.

Transformasi Data dengan Polars

Apa itu join?

Diagram yang menunjukkan dua DataFrame digabung dengan mencocokkan baris pada kolom bersama.

Transformasi Data dengan Polars

Apa itu join?

Diagram yang menunjukkan dua DataFrame digabung dengan mencocokkan baris pada kolom bersama dengan kunci yang disorot.

Transformasi Data dengan Polars

Join pada satu kolom

reviews.join(                                       )
Transformasi Data dengan Polars

Join pada satu kolom

reviews.join(inspections,                           )
Transformasi Data dengan Polars

Join pada satu kolom

reviews.join(inspections, on="business"             )
Transformasi Data dengan Polars

Join pada satu kolom

reviews.join(inspections, on="business", how="inner")
shape: (6, 7)
| business      | location    | ... | location_right | hygiene_rating |
| ---           | ---         | ... | ---            | ---            |
| str           | str         | ... | str            | i64            |
|---------------|-------------|-----|----------------|----------------|
| 7burgers      | Wakey Wakey | ... | Wakey Wakey    | 4              |
| Costa Coffee  | City Point  | ... | City Point     | 5              |
| Costa Coffee  | Waterloo    | ... | City Point     | 5              |
| Costa Coffee  | City Point  | ... | Waterloo       | 3              |
| Costa Coffee  | Waterloo    | ... | Waterloo       | 3              |
| The Queens Hd | Denman St.  | ... | Denman St.     | 5              |
Transformasi Data dengan Polars

Join pada beberapa kolom

reviews.join(inspections, on=["business", "location"])
Transformasi Data dengan Polars

Join pada beberapa kolom

reviews.join(inspections, on=["business", "location"])
shape: (4, 6)
| business        | location    | review | price | type       | hygiene_rating |
| ---             | ---         | ---    | ---   | ---        | ---            |
| str             | str         | f64    | i64   | str        | i64            |
|-----------------|-------------|--------|-------|------------|----------------|
| 7burgers        | Wakey Wakey | 4.2    | 15    | restaurant | 4              |
| Costa Coffee    | City Point  | 4.5    | 8     | café       | 5              |
| Costa Coffee    | Waterloo    | 4.1    | 8     | café       | 3              |
| The Queens Head | Denman St.  | 4.7    | 25    | bar        | 5              |
Transformasi Data dengan Polars

Left join

reviews.join(inspections, on=["business", "location"],           )
Transformasi Data dengan Polars

Left join

reviews.join(inspections, on=["business", "location"], how="left")
shape: (5, 6)
| business         | location    | review | price | type       | hygiene_rating |
| ---              | ---         | ---    | ---   | ---        | ---            |
| str              | str         | f64    | i64   | str        | i64            |
|------------------|-------------|--------|-------|------------|----------------|
| 7burgers         | Wakey Wakey | 4.2    | 15    | restaurant | 4              |
| Bang Bang Burger | Forest Rd.  | 3.8    | 12    | null       | null           |
| Costa Coffee     | City Point  | 4.5    | 8     | café       | 5              |
| Costa Coffee     | Waterloo    | 4.1    | 8     | café       | 3              |
| The Queens Head  | Denman St.  | 4.7    | 25    | bar        | 5              |
Transformasi Data dengan Polars

Full join

reviews.join(inspections, on=["business", "location"],                          )
Transformasi Data dengan Polars

Full join

reviews.join(inspections, on=["business", "location"], how="full"               )
Transformasi Data dengan Polars

Full join

reviews.join(inspections, on=["business", "location"], how="full", coalesce=True)
shape: (6, 6)
| business         | location    | review | price | type       | hygiene_rating |
| ---              | ---         | ---    | ---   | ---        | ---            |
| str              | str         | f64    | i64   | str        | i64            |
|------------------|-------------|--------|-------|------------|----------------|
| 7burgers         | Wakey Wakey | 4.2    | 15    | restaurant | 4              |
| Costa Coffee     | City Point  | 4.5    | 8     | café       | 5              |
| Costa Coffee     | Waterloo    | 4.1    | 8     | café       | 3              |
| The Queens Head  | Denman St.  | 4.7    | 25    | bar        | 5              |
| Wagamama         | Soho        | null   | null  | restaurant | 4              |
| Bang Bang Burger | Forest Rd.  | 3.8    | 12    | null       | null           |
Transformasi Data dengan Polars

Memilih strategi join

2 tabel

Transformasi Data dengan Polars

Inner join

Representasi inner join

Transformasi Data dengan Polars

Left join

Representasi left join

Transformasi Data dengan Polars

Full join

Representasi full join

Transformasi Data dengan Polars

Ayo berlatih!

Transformasi Data dengan Polars

Preparing Video For Download...