10个版本
使用旧的Rust 2015
0.3.2 | 2019年4月10日 |
---|---|
0.3.1 | 2019年4月3日 |
0.3.0 | 2019年2月21日 |
0.2.0 | 2018年10月14日 |
0.1.1 | 2018年3月31日 |
#854 in 编码
375KB
8K SLoC
Agnes
agnes
是Rust的数据处理库。
一些有用的链接
概述
agnes
是Rust编程语言的一个静态类型高性能数据处理库。它提供了数据加载、预处理、聚合、注解和序列化的实用工具。Agnes的主要目标是提供功能,以帮助开发健壮、高效、易于阅读的应用程序,用于您的数据预处理任务。
功能
- 用于处理异构类型表格数据的数据结构。
- 可扩展的数据源框架,目前支持加载本地或基于Web的CSV文件,更多数据源类型正在开发中。
- 通过
serde
进行数据输出,允许输出到任何serde
支持的序列化输出。 - 处理所有数据类型的缺失数据(NaN)。
- 数据合并和连接以组合来自多个源的数据。
- 基于迭代器或索引的数据访问
设计原则
agnes
在设计时考虑了以下一些基本原则
- 最小化数据重复:单个数据源可以被多个数据视图或输出共享。
- 类型安全:Agnes利用Rust的类型系统来提供静态类型提供的编译时优势。
- 采用现有的Rust范式和最佳实践。这包括迭代器的使用、显式内存控制和现有的Rust库(如
serde
)。
使用方法
要使用,请将以下内容添加到您的Cargo.toml
[dependencies]
agnes = "0.3"
并将以下内容添加到您的crate根目录
extern crate agnes;
示例
作为一个简单的示例,让我们构建一个应用程序,它读取数据集,并显示它。一个更完整的示例,展示了更多agnes
功能,可以在指南这里找到。
此示例从按国家划分的数据文件中加载特定字段,并展示了表格定义格式、源指定格式和从URI加载功能。此示例也可以在这里找到:此处。
#[macro_use]
extern crate agnes;
use agnes::source::csv::load_csv_from_uri;
// specify the GDP table (only the fields we are concerned about)
tablespace![
table gdp {
CountryName: String,
CountryCode: String,
Gdp2015: f64,
}
];
fn main() {
// specify the source location for our GDP fields
let gdp_spec = spec![
fieldname gdp::CountryName = "Country Name";
fieldname gdp::CountryCode = "Country Code";
fieldname gdp::Gdp2015 = "2015";
];
// load the CSV file from a URI
let gdp_view =
load_csv_from_uri("https://wee.codes/data/gdp.csv", gdp_spec).expect("CSV loading failed.");
// print the DataView
println!("{}", gdp_view);
}
更改和未来计划
许可证
本作品根据MIT许可证授权。
依赖项
~19–31MB
~447K SLoC