26 lines
809 B
Python
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)
|