gpt4 book ai didi

multidimensional-array - ndarray : Is there an effective way to swap 2 row/cols/etc.在不同的数组?

转载 作者:行者123 更新时间:2023-12-03 11:45:32 26 4
gpt4 key购买 nike

结合使用带有2个Array结构的ndarray,是否存在一种有效的方法来交换2行/列/(沿某个轴的切片)?

标题确实总结了这个问题。

最佳答案

虽然不同的人通过“有效”可能意味着不同的事情,但是一种直接的方法是通过临时方式将行/列彼此分配。这是两行(Playground)的示例:

let mut a = arr2(&[[1, 2, 3], [4, 5, 6]]);
let mut b = arr2(&[[7, 8, 9], [10, 11, 12], [13, 14, 15]]);
let mut a_row = a.slice_mut(s![1, ..]);
let mut b_row = b.slice_mut(s![2, ..]);
let tmp = a_row.to_owned();
a_row.assign(&b_row);
b_row.assign(&tmp);
println!("a = {:?}", a);
println!("b = {:?}", b);

另外,您可以使用 azip!() 逐元素交换并避免创建临时数组,甚至使用 par_azip! 并行化复制。

关于multidimensional-array - ndarray : Is there an effective way to swap 2 row/cols/etc.在不同的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61967265/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com