告别熊猫,感谢所有的鱼。– 朱鹭

主要观点:

  • 即将在版本 10.0 中弃用pandasdask后端并将其移除。
  • pandas后端与默认的 DuckDB 后端无功能差距,但 DuckDB 性能更优,pandasDataFrame 仍可作为获取和输出数据的格式。
  • 弃用pandas后端的原因包括与 Ibis 数据分析模型不匹配、NaNNULL的处理差异、数据类型问题以及易误导新用户等。
  • DuckDB 后端具有易安装、本地运行、速度快、与 Python 生态系统交互良好等优点,可无缝查询pandasDataFrame 等。

关键信息:

  • 早期 Ibis 只有 Impala 后端,后添加 Postgres 后端,为方便新用户引入pandas后端。
  • pandas是 eager 引擎,Ibis 是 deferred 执行模型,使pandas后端常比直接用pandas慢,且有数千行仅用于pandas后端的代码。
  • 很久以前选择用NaN表示pandas中的缺失值,这导致与其他后端处理缺失值的方式不同。
  • 新用户常因尝试pandas后端而觉得 Ibis 慢,若尝试 DuckDB 或 Polars 则更易上手。
  • DuckDB 后端可无缝处理pandasDataFrame 等多种格式,是默认后端的原因。

重要细节:

  • 早期 Ibis 后端情况及添加过程。
  • pandas与 Ibis 模型差异导致的性能等问题。
  • NaNNULL处理方式的不同及影响。
  • 新用户对 Ibis 速度的误解及不同后端的体验差异。
  • DuckDB 后端的优势及与pandas后端的对比。
阅读 10
0 条评论