首页 > 解决方案 > Rust ndarray:将 ArrayD 转换为 Array2

问题描述

得到一个始终有 2 个维度的 ArrayD,但由于计算是 ArrayD,需要将其更改为 Array2 进行存储。

一直在看文档,似乎找不到方法。

有没有功能可以做到这一点?

标签: multidimensional-arrayrust

解决方案


如果你有一个 type 的变量ArrayD<f32>,你可以这样做:

// convert n-dimensional array into 2d array
let arr2d: Array2<f32> = arr2d.into_dimensionality::<Ix2>()?;

将其转换为类型的变量Array2<f32>

如果尺寸不匹配,则会引发ndarray::ShapeError错误。


另请参阅:ndarray 文档:into_dimensionality


推荐阅读