【问题标题】:ndarray: How to split an array?ndarray:如何拆分数组?
【发布时间】:2020-05-25 11:59:00
【问题描述】:

寻找与Vec (https://doc.rust-lang.org/std/vec/struct.Vec.html#method.split_off) 一起使用的.split_of 函数的功能

目前我正在尝试使用函数split_at: (docs: https://docs.rs/ndarray/0.13.1/ndarray/struct.ArrayBase.html#method.split_at)

用法:

let mut data: Array2<f32> = array![[1.,2.],[3.,4.],[5.,6.],[7.,8.]];
let split = data.split_at(Axis(0),1);

得到错误:

method not found in `ndarray::ArrayBase<ndarray::data_repr::OwnedRepr<{float}>, ndarray::dimension::dim::Dim<[usize; 2]>>`

我在这里错过了什么?

【问题讨论】:

    标签: multidimensional-array rust


    【解决方案1】:

    根据文档,这些仅为ArrayViews 而不是Arrays 定义。

    不幸的是,这在文档中split_at 的正上方有说明,如果您只是从方法的侧边栏中单击它,很容易错过。

    只读数组视图的方法。

    对于读写视图也是如此。

    按照split_at 的文档中所示初始化视图并将其拆分应该可以正常工作。

    【讨论】:

    • 我担心的是它的内存使用,使用非常大的数组,将内存使用加倍确实不可行。你知道这种方法的内存使用情况吗?
    猜你喜欢
    • 2020-10-04
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 2022-10-04
    • 1970-01-01
    相关资源
    最近更新 更多