Nối DataFrame

Biến đổi dữ liệu với Polars

Liam Brannigan

Data Scientist & Polars Contributor

Quay lại ứng dụng nhà hàng

shape: (4, 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     |
| The Queens Head  | Denman St.  | 4.7    | 25    |
Biến đổi dữ liệu với Polars

Nối

Sơ đồ cho thấy ba DataFrame được sắp xếp theo chiều dọc

Biến đổi dữ liệu với Polars

Nối

Sơ đồ cho thấy ba DataFrame sắp dọc gộp thành một DataFrame

Biến đổi dữ liệu với Polars

Dữ liệu trung tâm London

import polars as pl

central = pl.read_csv("restaurants_central.csv")
shape: (4, 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     |
| The Queens Head  | Denman St.  | 4.7    | 25    |
Biến đổi dữ liệu với Polars

Dữ liệu Nam London

south = pl.read_csv("restaurants_south.csv")
shape: (3, 4)
| business       | location       | review | price |
| ---            | ---            | ---    | ---   |
| str            | str            | f64    | i64   |
|----------------|----------------|--------|-------|
| Pizzeria Bella | Bermondsey St. | 3.5    | 18    |
| Costa Coffee   | Waterloo       | 4.1    | 8     |
| Nando's        | Brixton Rd.    | 4.0    | 20    |

$$

  • Nối dọc: xếp DataFrame chồng lên nhau
Biến đổi dữ liệu với Polars

Nối dọc

reviews = pl.concat(                                )
Biến đổi dữ liệu với Polars

Nối dọc

reviews = pl.concat([central, south]                )
Biến đổi dữ liệu với Polars

Nối dọc

reviews = pl.concat([central, south], how="vertical")
shape: (7, 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     |
| The Queens Head  | Denman St.     | 4.7    | 25    |
| Pizzeria Bella   | Bermondsey St. | 3.5    | 18    |
| Costa Coffee     | Waterloo       | 4.1    | 8     |
| Nando's          | Brixton Rd.    | 4.0    | 20    |
Biến đổi dữ liệu với Polars

Nối dọc

reviews = pl.read_csv("restaurants*.csv")
shape: (7, 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     |
| The Queens Head  | Denman St.     | 4.7    | 25    |
| Pizzeria Bella   | Bermondsey St. | 3.5    | 18    |
| Costa Coffee     | Waterloo       | 4.1    | 8     |
| Nando's          | Brixton Rd.    | 4.0    | 20    |
Biến đổi dữ liệu với Polars

Lô thứ ba bị thiếu dữ liệu

north = pl.read_csv("north.csv")
shape: (2, 3)
| business      | location      | review |
| ---           | ---           | ---    |
| str           | str           | f64    |
|-----------    |---------------|--------|
| Pig & Butcher | Liverpool Rd. | 3.2    |
| The Castle    | Angle         | 4.4    |
Biến đổi dữ liệu với Polars

Nối dọc bị lỗi

pl.concat([central, south, north], how="vertical")
ShapeError: unable to append to a DataFrame of width 4 with a DataFrame of width 3
Biến đổi dữ liệu với Polars

Nối chéo (diagonal)

pl.concat([central, south, north], how="diagonal")
Biến đổi dữ liệu với Polars

Nối chéo (diagonal)

pl.concat([central, south, north], how="diagonal")
shape: (9, 4)
| business         | location            | review | price |
| ---              | ---                 | ---    | ---   |
| str              | str                 | f64    | i64   |
|------------------|---------------------|--------|-------|
| 7burgers         | Wakey Wakey         | 4.2    | 15    |
| ...              | ...                 | ...    | ...   |
| Nando's          | Brixton Rd.         | 4.0    | 20    |
| Pig & Butcher    | Liverpool Rd.       | 3.2    | null  |
| The Castle       | Angle               | 4.4    | null  |
Biến đổi dữ liệu với Polars

Nối ngang

cuisine = pl.read_csv("cuisine.csv")
shape: (7, 1)
| cuisine  |
| ---      |
| str      |
|----------|
| burgers  |
| burgers  |
| coffee   |
| ...      |
| chicken  |
  • Nối ngang: đặt các DataFrame cạnh nhau
Biến đổi dữ liệu với Polars

Nối ngang

pl.concat([reviews, cuisine], how="horizontal")
shape: (7, 5)
| business         | location       | review | price | cuisine  |
| ---              | ---            | ---    | ---   | ---      |
| str              | str            | f64    | i64   | str      |
|------------------|----------------|--------|-------|----------|
| 7burgers         | Wakey Wakey    | 4.2    | 15    | burgers  |
| Bang Bang Burger | Forest Rd.     | 3.8    | 12    | burgers  |
| Costa Coffee     | City Point     | 4.5    | 8     | coffee   |
| The Queens Head  | Denman St.     | 4.7    | 25    | pub_food |
| Pizzeria Bella   | Bermondsey St. | 3.5    | 18    | pizza    |
| Costa Coffee     | Waterloo       | 4.1    | 8     | coffee   |
| Nando's          | Brixton Rd.    | 4.0    | 20    | chicken  |
Biến đổi dữ liệu với Polars

Thêm hàng với extend

new_listing = pl.DataFrame({
    "business": ["Wagamama"],
    "location": ["Soho"],
    "review": [4.3],
    "price": [16]
})
shape: (1, 4)
| business         | location     | review | price |
| ---              | ---          | ---    | ---   |
| str              | str          | f64    | i64   |
|------------------|--------------|--------|-------|
| Wagamama         | Soho         | 4.3    | 16    |
Biến đổi dữ liệu với Polars

Thêm hàng với extend

reviews.extend(new_listing)
shape: (8, 4)
| business         | location       | review | price |
| ---              | ---            | ---    | ---   |
| str              | str            | f64    | i64   |
|------------------|----------------|--------|-------|
| 7burgers         | Wakey Wakey    | 4.2    | 15    |
| ...              | ...            | ...    | ...   |
| Nando's          | Brixton Rd.    | 4.0    | 20    |
| Wagamama         | Soho           | 4.3    | 16    |
Biến đổi dữ liệu với Polars

Ayo berlatih!

Biến đổi dữ liệu với Polars

Preparing Video For Download...