添加1,021字节
、 2021年5月17日 (一) 20:52
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]]