Код: Выделить всё
import time
import polars as pl
import pandas as pd
import numpy as np
n = 10_000_000
np_arrs = {"x": np.random.rand(n), "y": np.random.rand(n)}
pl_df = pl.DataFrame(np_arrs)
pd_df = pd.DataFrame(np_arrs)
t0 = time.time()
z = np_arrs["x"] / np_arrs["y"]
t1 = time.time()
print(f"time cost: {round((t1 - t0) * 1000)} ms") # 20 ms
t0 = time.time()
z = pl_df["x"] / pl_df["y"]
t1 = time.time()
print(f"time cost: {round((t1 - t0) * 1000)} ms") # 42 ms
t0 = time.time()
z = pd_df["x"] / pd_df["y"]
t1 = time.time()
print(f"time cost: {round((t1 - t0) * 1000)} ms") # 18 ms
Мои тестовые среды:
- компьютер: MBP 2020, 13 дюймов, 4-ядерный i5 с тактовой частотой 2 ГГц , 16 ГБ памяти.
- python: 3.12.3
- numpy: 1.26.4
- pandas: 2.2. 2
- поляры: 0,20,31
Подробнее здесь: https://stackoverflow.com/questions/786 ... -divisions