# xorbits
**Repository Path**: xprobe-inc/xorbits
## Basic Information
- **Project Name**: xorbits
- **Description**: Xorbits:加速 Python 数据处理和 AI,简单易用且速度超快。
- **Primary Language**: Python
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: https://xorbits.cn
- **GVP Project**: No
## Statistics
- **Stars**: 9
- **Forks**: 2
- **Created**: 2023-01-31
- **Last Updated**: 2025-08-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 加速 Python 数据处理和 AI,简单易用且速度超快
[](https://pypi.org/project/xorbits/)
[](https://github.com/xprobe-inc/xorbits/blob/main/LICENSE)
[](https://codecov.io/gh/xprobe-inc/xorbits)
[](https://actions-badge.atrox.dev/xprobe-inc/xorbits/goto?ref=main)
[](https://doc.xorbits.cn)
[](https://www.zhihu.com/org/xorbits)
## 简介
Xorbits 是一个 Python 数据处理和 AI 的加速框架,它能加速许多知名 Python 库,
包括 numpy、pandas、scikit-learn 等。Xorbits 利用多核和 GPU 来加速计算,
支持单机加速,也可以轻松扩展到成千台机器,以支持处理 TB 级数据。根据我们的性能测试结果,
**Xorbits 跟其他知名分布式框架相比,是性能最好的。**
``Xorbits`` 名字本身有许多含义,你可以理解成 ``X-or-bits(未来或比特)``,
也可以理解成 ``X-orbits(未来的轨道)``,或者 ``xor-bits(异或比特)`` 等等,
随意按你的想法来理解。
## 快速上手
代码除了 import 几乎相同,只要把 ``import pandas`` 改成 ``import xorbits.pandas``
就大功告成,numpy 和其他库也是如此。
## 如何获取
源码托管在:
1. Github:https://github.com/xprobe-inc/xorbits
2. Gitee:https://gitee.com/xprobe-inc/xorbits
最新版本二进制包可以在 [Python Package Index (PyPI)](https://pypi.org/project/xorbits) 找到。
```shell
# PyPI
pip install xorbits
```
## API 兼容性
如果你知道如何使用 numpy、pandas 等,你很可能就已经知道如何使用 Xorbits。
实现的或计划实现的 Xorbits 接口包括
| 接口 | 实现版本/计划 |
|---------------------------------------------------------------------------------|---------|
| [xorbits.pandas](https://doc.xorbits.cn/reference/pandas/index.html#pandas-api) | v0.1.0 |
| [xorbits.numpy](https://doc.xorbits.cn/reference/numpy/index.html#numpy-api) | v0.1.0 |
| xorbits.sklearn | 计划近期实现 |
| xorbits.xgboost | 计划近期实现 |
| xorbits.lightgbm | 计划近期实现 |
| xorbits.xarray | 计划实现 |
## 超快的执行速度
根据我们的性能测试,Xorbits 相比于其他流行的框架是最快的。
我们测试了 TPC-H 在 scale factor 100(大约100G数据集)和 1000(大约1T数据集)。 性能结果如下。
### TPC-H SF100:Xorbits 对比 Dask

Dask 在 Q21 跑的时候内存溢出,因此 Q21 被排除。综合所有查询,Xorbits 比 Dask 快7.3倍。
### TPC-H SF100:Xorbits 对比 Pandas API on Spark

Pandas API on Spark 跑 Q1、Q4、Q7 和 Q21 查询时失败,跑 Q20 查询时内存溢出。
除此之外,对于所有查询,Xorbits 和它有着相似的性能,但是 Xorbits 提供更优秀的 API 兼容性。
### TPC-H SF100:Xorbits 对比 Modin

尽管 Modin 在大多数涉及数据重排的查询中内存溢出,显得性能差别没那么明显,
Xorbits 依然比 Modin 快了3.2倍。
### TPC-H SF1000:Xorbits

Xorbits 能够跑通全部的测试,Dask、Pandas API on Spark 以及 Modin 大部分的测试都跑失败了。
因此,我们无法对比性能的差别,我们计划未来在合适的时间继续对比。
更多信息参考 [性能测试](https://xorbits.cn/benchmark)。
## 部署
Xorbits 能够部署到单机、通过命令行大规模部署到集群,或者部署到 Kubernetes 以及云上。
| 部署 | 描述 |
|----------------------------------------------------------------------------|------------------------------------------------------------|
| [单机](https://doc.xorbits.cn/user_guide/deployment_local.html) | 将 Xorbits 跑在单机,比如笔记本 |
| [集群](https://doc.xorbits.cn/user_guide/deployment_cluster.html) | 通过命令行将 Xorbits 部署到集群 |
| [Kubernetes](https://doc.xorbits.cn/user_guide/deployment_kubernetes.html) | 通过 Python 代码把 Xorbits 部署到已有的 k8s 集群 |
| [云](https://doc.xorbits.cn/user_guide/deployment_cloud.html) | 通过 Python 代码把 Xoribts 部署到云平台 |
## License
[Apache 2](LICENSE)
## 文档
官方文档托管在:https://doc.xorbits.cn
## 路线图
我们未来期望达到的主要目标包括:
* 将数据存储从 pandas 原生切换到 arrow 原生。这能显著减少内存占用,且对计算引擎更友好。
* 引入原生引擎,以利用例如向量化和代码生成技术来加速计算。
* 加速尽可能多的库和算法。
更多路线图未来会很快披露,敬请期待。
## 和 Mars 项目的关系
Xorbits 的作者主要来自 Mars,我们目前基于 Mars 构建了 Xorbits 来减少重复工作。
我们创建 Xorbits 以实现更宏伟的愿景,而不是把一切东西都塞到 Mars 里。
未来我们将逐渐把一些核心模块切换到我们即将发布的模块上,敬请期待。
## 参与项目
| 平台 | 目的 |
|---------------------------------------------------------------|-------------------|
| [Github Issues](https://github.com/xprobe-inc/xorbits/issues) | 报告 bug 或者发起新特性请求 |
| [Gitee Issues](https://gitee.com/xprobe-inc/xorbits/issues) | 报告 bug 或者发起新特性请求 |
访问 [Xorbits 社区](https://xorbits.cn/community) 获取微信公众号、知乎等联系方式。