Files
training.python.datascience/workshop/pandas-shoes/polars_shoes.py
2025-07-04 19:58:11 +02:00

26 lines
809 B
Python

import polars as pl
import pandas as pd
import duckdb as duck
from contexttimer import Timer
if __name__ == '__main__':
loops: int = 10
pf = pl.read_csv("data/womens-shoes.csv", infer_schema_length=2 ** 30)
df = pd.read_csv("data/womens-shoes.csv")
# Polars Dataframe (±9ms)
with Timer() as timer:
for i in range(loops):
df2 = pf.sort("prices.amountMin", descending=bool(i % 2))
print(df2["prices.amountMin"][0])
print(timer.elapsed)
# DuckDB Dataframe (±1000ms)
with Timer() as timer:
for i in range(loops):
asc = "ASC" if i % 2 == 0 else "DESC"
df2 = duck.query(f"""SELECT * FROM df ORDER BY "prices.amountMin" {asc}""").to_df()
print(df2["prices.amountMin"].iloc[0])
print(timer.elapsed)