You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Polars datetime筛选速度慢?求更快的Polars时间筛选方法

Polars DateTime子集化性能疑问及优化方法

我正在寻找使用datetime对Polars DataFrame进行子集化的更快方法,尝试了两种实现方式后,发现Pandas的同类操作速度明显更快,因此认为Polars应该存在更优的实现方案。

测试代码及结果

Polars两种实现方式

import datetime
import polars as pl

start_date = datetime.datetime(2009, 8, 3, 0, 0)
end_date = datetime.datetime(2009, 11, 3, 0, 0)

# 方法一:直接引用DataFrame列
%%timeit
df_window = df_stock.filter(
    (df_stock["date_time"] >= start_date)
    & (df_stock["date_time"] <= end_date)
)
# 2.61 ms ± 243 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

# 方法二:使用pl.col()引用列
%%timeit
df_window = df_stock.filter(
    (pl.col("date_time") >= start_date) & (pl.col("date_time") <= end_date)
)
# 12.5 ms ± 801 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

Pandas对比实现(性能更优)

import pandas as pd

df_test = df_stock.to_pandas()
df_test.set_index('date_time', inplace=True)

%%timeit
df_test['2009-8-3':'2009-8-3']
# 1.02 ms ± 108 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

核心疑问

  1. 为何该场景下Pandas的datetime子集化操作比Polars更快?
  2. Polars是否存在更快的datetime子集化实现方式?

环境信息

  • Spyder版本:5.4.0(conda)
  • Python版本:3.8.13 64位
  • 操作系统:Linux 5.15.79.1-microsoft-standard-WSL2

内容的提问来源于stack exchange,提问作者Artur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 11:55:19