对比的维度有两个:

  1. 不同的 DataFrame 实现,这里用的是 Pandas 和 Polars,前者是最流行的框架,后者则是用 Rust 驱动的更节约内存的框架
  2. 不同的经纬度转时区库的实现,这里用的是 timezonefinder1 和 tzfpy2

相关代码可以在仓库中浏览 df-lng-lat-timezones-showcase

timezonefindertzfpy
Pandas8.48 s1.89 s
Pandas(Vectorized)6.09 s396 ms
Polars7 s664 ms
NumPy7.9 s397 ms

  1. 利益相关提示:我曾经是这个项目的赞助者 ↩︎

  2. 利益相关提示:我是这个项目的作者 ↩︎