Introductie tot de Polars DataFrame

Introductie tot Polars

Liam Brannigan

Data Scientist and Polars Contributor

Maak kennis met je docent

$$

  • Liam Brannigan, Lead Data Scientist
  • ML- en data-engineering specialist
  • Polars-bijdrager

Profielfoto van de docent.

Introductie tot Polars

Tabeldata

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 |
| Seashells   | Cottage | 540   | 4        | 2       | 2       | 8.7    | true  |
| Lake view   | Cottage | 714   | 3        | 1       | 4       | 9.2    | true  |
| Piran View  | null    | 775   | null     | 1       | 3       | 9.6    | false |
| Palma Villa | Cottage | 1772  | 4        | 1       | 2       | 9.6    | true  |
Introductie tot Polars

Naast-elkaar-afbeelding van een ijsbeer in de sneeuw en een panda in een bos.

  • Polars is meestal sneller dan Pandas → parallelle berekening
  • Polars lazy mode maakt geoptimaliseerde queries mogelijk
Introductie tot Polars

De logo's van Apache Arrow en Rust.

  • Apache Arrow: slaat tabeldata in geheugen op
  • Rust: snelle taal voor dataverwerking
Introductie tot Polars

Een schematische database om het laden van data te tonen.

  • Data laden en inspecteren
Introductie tot Polars

Een schematische database met tandwielen om transformatie te tonen.

  • Data laden en inspecteren
  • Data transformeren en optimaliseren
Introductie tot Polars

Een schematische database, tandwielen en een grafiek om analyse te tonen.

  • Data laden en inspecteren
  • Data transformeren en optimaliseren
  • Data analyseren
Introductie tot Polars

Een CSV inlezen

import polars as pl


rentals = pl.read_csv("vacation_rentals.csv")
Introductie tot Polars

Eerste rijen van een DataFrame

rentals.head(3)

Eerste rijen van de DataFrame rentals.

Introductie tot Polars

Eerste rijen van een DataFrame

rentals.head(3)

De DataFrame rentals met de vorm gemarkeerd.

Introductie tot Polars

Eerste rijen van een DataFrame

rentals.head(3)

De DataFrame rentals met de eerste kolom gemarkeerd.

  • dtype: het datatype van een kolom
Introductie tot Polars

Eerste rijen van een DataFrame

rentals.head(3)

De DataFrame rentals met de kolom rentals gemarkeerd.

Introductie tot Polars

Laatste rijen van een DataFrame

rentals.tail()
shape: (5, 8)
| name                | type      | price | bedrooms | doubles | singles | review | beach |
| ---                 | ---       | ---   | ---      | ---     | ---     | ---    | ---   |
| str                 | str       | i64   | i64      | i64     | i64     | f64    | bool  |
|---------------------|-----------|-------|----------|---------|---------|--------|-------|
| Hengar Manor House  | Cottage   | 615   | 4        | 1       | 5       | 9.4    | false |
| Tudor Cottage Hayle | Cottage   | 489   | 3        | 2       | 3       | 8.9    | false |
| Tolcarne Apartments | Apartment | 1764  | 3        | 1       | 4       | 9.3    | true  |
| Tolcarne Apartments | Apartment | 1605  | 3        | 1       | 4       | 9.3    | true  |
| Tehidy Holiday Park | Cottage   | 637   | 4        | 2       | 4       | 9.0    | false |
Introductie tot Polars

DataFrame-metadata

rentals.shape
(49, 8)
rentals.columns
['name', 'type', 'price', 'bedrooms', 'doubles', 'singles', 'review', 'beach']
Introductie tot Polars

DataFrame-schema

rentals.schema
Schema([('name', String),
        ('type', String),
        ('price', Int64),
        ('bedrooms', Int64),
        ('doubles', Int64),
        ('singles', Int64),
        ('review', Float64),
        ('beach', Boolean)])
Introductie tot Polars

Een DataFrame inspecteren

rentals.glimpse()
Rows: 49
Columns: 8
$ name      <str> 'Waves', 'Seashells', 'Lake view', 'Piran View',...
$ type      <str> 'Cottage', 'Cottage', 'Cottage', None, 'Cottage',...
$ price     <i64> 540, 540, 714, 775, 1772, 934, 1947, 1026, 705, 863
$ bedrooms  <i64> 4, 4, 3, None, 4, 3, 4, 3, 4, 3
$ doubles   <i64> 1, 2, 1, 1, 1, 1, 1, 1, 1, 1
$ singles   <i64> 2, 2, 4, 3, 2, 4, 2, 4, 2, 2
$ review    <f64> 8.9, 8.7, 9.2, 9.6, 9.6, 8.6, 9.6, 8.6, 9.7, 9.1
$ beach    <bool> False, True, True, False, True, True, True, True, True, True
Introductie tot Polars

Laten we oefenen!

Introductie tot Polars

Preparing Video For Download...