更改

添加1,021字节 、 2021年5月17日 (一) 20:52
建立内容为“ndarray 是 Rust 的一个类似 Python numpy 的一个库。 == 笔记 == === [https://docs.rs/ndarray-stats/*/ndarray_stats/histogram/index.html histogram…”的新页面
ndarray 是 [[Rust]] 的一个类似 Python numpy 的一个库。

== 笔记 ==

=== [https://docs.rs/ndarray-stats/*/ndarray_stats/histogram/index.html histogram] ===

<syntaxhighlight lang=rust>
use ndarray::Array;
use ndarray_stats::histogram::strategies::Auto;
use ndarray_stats::histogram::{GridBuilder, HistogramExt};

let vlist: Vec<usize> = ...;
// 转化数据为 Array
let varr = Array::from_shape_vec((vlist.len(), 1), vlist).unwrap();
// grid 为分割点,左闭右开
let grid = GridBuilder::<Auto<usize>>::from_array(&varr).unwrap().build();
</syntaxhighlight>

其中 <code>Auto<usize></code> 为一个 [https://docs.rs/ndarray-stats/*/ndarray_stats/histogram/strategies/index.html strategy]。

使用 grid:
<syntaxhighlight lang=rust>
// 20000 落在哪个区间?返回一个 std::ops::Range
// grid.projections() 是每个坐标轴对应的分割点
let r = grid.projections()[0].range_of(&20000).unwrap();
// 创建 histogram
let hg = varr.histogram(grid);
</syntaxhighlight>

[[Category:Rust|N]]