跳转到主要内容

riptable研究框架的Python包

项目描述

Riptable

一个开源的64位Python分析引擎,支持多线程,用于高性能数据分析。Riptable支持64位Linux和Windows上的Python 3.10至3.12。

类似于Pandas,基于NumPy,Riptable优化了交互式、实时分析大量数据。Riptable的速度通常比NumPy或Pandas快1.5倍至10倍。

Riptable通过以下方式实现最大速度:

关于Riptable的简介和参考文档可在以下链接找到: riptable.readthedocs.io

基本概念和类

FastArray 是NumPy的 ndarray 的子类,支持内置的多线程数值运算。所有期望接受NumPy数组的Scikit函数也接受 FastArray

Dataset 代替了Pandas的 DataFrame 类,并持有等长度的NumPy数组。

Struct 存储一组混合类型的数据成员,其中 Dataset 是其子类。

Categorical 代替了Pandas的 DataFrame.groupby() 方法和Pandas的 Categorical 类。Riptable的 Categorical 支持多键、可过滤的分组,具有与Pandas groupby 相同的功能,并更多。

Datetime 类替代了大多数NumPy和Pandas日期/时间类。Riptable的 DateTimeNanoDateTimeSpanDateSpan 类的设计更接近Java、C++或C#的日期/时间类。

Accum2AccumTable 允许交叉制表功能。

SDS 提供了一种新的文件格式,可以在多个文件中堆叠多个数据集,使用 zstd 压缩、线程和无额外内存复制。

小型、中型和大型数组的性能

Riptable是为所有大小的数组设计的。对于小型数组(长度小于100),低处理开销很重要。Riptable的 FastArray 用手工编写的C语言编写,处理简单的算术函数比NumPy数组更快。对于中型数组(长度小于10万),Riptable具有向量化内建循环。对于大型数组(长度大于等于10万),Riptable知道如何动态扩展线程,高效地使用 futex 唤醒线程。

安装和导入Riptable

创建一个Conda环境并运行以下命令在Windows或Linux上安装Riptable

conda install riptable

在Python代码中导入Riptable以访问其函数、方法和类

import riptable as rt

注意:我们将Riptable模块的名称缩短为 rt,以提高代码的可读性。

使用Riptable与NumPy数组

可以轻松地在NumPy的 ndarray 和Riptable的 FastArray 之间切换,而不产生数组的副本。

import riptable as rt
import numpy as np
rtarray = rt.arange(100)
numpyarray = rtarray._np
fastarray = rt.FastArray(numpyarray)

更改两个实例的视图以确认 FastArrayndarray 的子类。

numpyarray.view(rt.FastArray)
fastarray.view(np.ndarray)
isinstance(fastarray, np.ndarray)

使用Riptable与Pandas DataFrames

直接从Pandas DataFrame 构建Riptable Dataset

import riptable as rt
import numpy as np
import pandas as pd
df = pd.DataFrame({"intarray": np.arange(1_000_000), "floatarray": np.arange(1_000_000.0)})
ds = rt.Dataset(df)

我如何信任Riptable的计算结果?

Riptable经过了多年的开发,并有一家大型金融公司数十名量化分析师对其功能进行了测试。我们还提供了一套完整的 测试,以确保模块按预期运行。但与任何项目一样,仍然存在错误和改进的机会,可以通过GitHub问题报告。

如何使Riptable的计算更快?

Riptable从一开始就是为了处理大量数据和多线程而编写的,它使用riptide_cpp层处理基本算术函数和算法。许多核心算法已经费尽心思地重写以支持多线程。

我如何贡献?

“Riptable”引擎是Python数据分析计算的一个构建块,我们欢迎用户和贡献者加入,共同将其提升到新的水平。在您遇到错误、文档问题以及新的或改进功能的机会时,请考虑联系团队。

有关更多信息,请参阅贡献指南

项目详情


发行历史 发行通知 | RSS订阅

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

riptable-1.17.1.tar.gz (1.7 MB 查看哈希值)

上传时间 源代码

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面