IOPro

IOPro 直接从文件、SQL 数据库和 NoSQL 存储(包括具有数百万行的存储)加载 NumPy 数组(和 Pandas 数据帧),而无需创建数百万个临时的、中间 Python 对象,也不需要昂贵的数组大小调整操作。

IOPro 为 NumPy 函数loadtxt()和提供了替代品genfromtxt(),但显着提高了性能并减少了内存开销。

IOPro 1.9.1 的当前(和最终)版本于 2017 年 3 月 1 日发布。

IOPro 的开源继承者

IOPro 中的所有代码均于 2017 年在 BSD 开源许可下发布。作为该版本的一部分,代码被重构为多个组件库,每个组件库的版本号都设置为 2.0.0,以表明它们取代了 IOPro 名称下的代码。

GitHub 上提供了几个库:

这些不同的包可以作为 conda 包(使用其名称的小写版本)在 conda-forge 频道中提供。维护、改进和打包将是一个社区主导的项目。

如何获得 IOPro

要获得 IOPro,只需下载并安装 IOPro 包。

如果您已经安装了Anaconda(免费 Python 平台)或Miniconda

conda update conda
conda install -c pkgs/pro iopro=1.9.1

如果你没有安装 Anaconda,你可以下载它

要求

  • Python 2.7 或 3.4+
  • NumPy 1.10+

可选的 Python 模块:

  • Boto(用于 S3 支持)
  • 熊猫(使用数据帧)

1.9 版有什么新功能?

文档已针对 1.9.0 版进行了大量更新。Numba 已被删除,代码已被清理,但没有添加或删除其他功能。进行了一些没有改变功能的重构。我们建议用户不要使用旧版本。有关更多详细信息,请参阅发行说明

入门

一些基本的使用模式如下所示。为数据源创建 TextAdapter 对象:

>>> import iopro
>>> adapter = iopro.text_adapter('data.csv', parser='csv')

定义字段数据类型(例如:将字段 0 设置为 unsigned int,将字段 4 设置为浮点数):

>>> adapter.set_field_types({0: 'u4', 4:'f4'})

使用切片符号解析文本并将记录存储在 NumPy 数组中:

>>> # read all records
>>> array = adapter[:]

>>> # read first ten records
>>> array = adapter[0:10]

>>> # read last record
>>> array = adapter[-1]

>>> # read every other record
>>> array = adapter[::2]

以前的版本

本文档供尚未升级到当前版本的客户使用。

注意:我们建议用户不要使用旧版本的 IOPro。