Ibis最新特性解析探索v9.0版本带来的革命性变化【免费下载链接】ibisibis: 是一个高性能的 Python 数据分析库提供了类似于 pandas 和 NumPy 的功能。适合数据分析师和开发者使用 ibis 进行数据清洗、分析和处理。项目地址: https://gitcode.com/gh_mirrors/ib/ibisIbis 9.0版本作为这款高性能Python数据分析库的重大更新彻底完成了从SQLAlchemy到SQLGlot的迁移重构不仅大幅简化了代码库结构还带来了众多实用功能改进和突破性优化。对于数据分析师和开发者而言这一版本将显著提升数据清洗、分析和处理的效率与便捷性。核心架构重构SQLGlot驱动的性能飞跃 Ibis 9.0版本最引人注目的变化是完成了重大重构计划全面转向使用SQLGlot作为查询引擎。这一转变不仅简化了内部实现还为未来添加新功能和支持更多后端数据库奠定了坚实基础。长期困扰用户的链式连接chained joins问题在新版本中得到完美解决查询逻辑更加符合直觉。图Ibis 9.0基于SQLGlot的架构标准示意图展示了用户界面、执行引擎与数据存储之间的交互流程后端支持与功能增强 虽然v9.0没有新增正式后端但各现有后端都获得了显著改进DuckDB后端强化新增asof连接支持可通过tolerance参数控制匹配精度实现read_mysql函数支持直接读取MySQL数据库支持二进制数据到几何类型的转换实现Parquet文件中的空间数据处理其他后端改进Snowflake支持在Snowflake存储过程中运行IbisPySpark新增对PySpark 3.5的支持Apache Flink实现标量用户定义函数UDFs支持RisingWave添加流数据定义语言DDL支持突破性新功能一览 ✨数据描述功能Ibis 9.0新增describe()方法可快速生成数据表的统计摘要t.describe()表达式可视化增强现在可以通过自定义属性美化GraphViz可视化效果from ibis.expr.visualize import to_graph to_graph(expr, node_attr{shape: hexagon, color: green})图Ibis 9.0中的逻辑计划生成流程展示了从语法树到执行计划的转换过程Polars集成优化实现与Polars数据框的直接转换无需通过Apache Arrow中转# 直接输出Polars数据框 t.to_polars() # 从Polars数据框创建Ibis内存表 ibis.memtable(polars_df)连接管理改进新增显式断开连接功能增强资源管理能力con ibis.connect(duckdb://) con.disconnect() # 显式关闭连接其他实用功能Python 3.12支持全面兼容最新Python版本UUID生成通过ibis.uuid()轻松创建唯一标识符JSON值解包支持将JSON值转换为后端原生类型空URL连接简化内存后端连接创建如ibis.connect(pandas://)重要变更与迁移指南 ⚠️schema概念标准化Ibis 9.0重新定义了schema的概念仅表示列名到类型的映射而不再用于表示数据库层次结构。原list_schemas()方法已 deprecated应改用con.list_databases() # 列出数据库 con.list_catalogs() # 列出目录其他突破性变更topk函数现在默认包含NULL值order_by和group_by支持可变参数统一了数据库、目录和命名空间的术语体系图Ibis 2024年开发路线图展示了v9.0版本在整体规划中的位置如何开始使用Ibis 9.0要体验Ibis 9.0的强大功能首先确保安装正确版本pip install ibis-framework9,10然后通过以下代码快速开始import ibis ibis.options.interactive True t ibis.examples.penguins.fetch() t结语Ibis 9.0版本通过核心架构重构和功能增强为数据分析师和开发者提供了更强大、更灵活的数据分析工具。无论是处理复杂查询、集成多种后端还是优化性能这一版本都带来了显著改进。作为持续发展的开源项目Ibis欢迎社区贡献。您可以通过项目仓库参与开发git clone https://gitcode.com/gh_mirrors/ib/ibis立即升级到Ibis 9.0体验数据分析的全新可能【免费下载链接】ibisibis: 是一个高性能的 Python 数据分析库提供了类似于 pandas 和 NumPy 的功能。适合数据分析师和开发者使用 ibis 进行数据清洗、分析和处理。项目地址: https://gitcode.com/gh_mirrors/ib/ibis创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考