Как я могу отфильтровать определенные столбцы в ndarray? - PullRequest
0 голосов
/ 28 мая 2019

Если вам нужны определенные столбцы в NumPy, вы можете сделать data[:, columnslist].Например, если вы хотите столбцы 1 и 9

data[:, [1, 9]]

Как я могу сделать это с помощью ustarray Rust?Я прошел через ndarray для пользователей NumPy , но у них нет подобного примера.Вот то, что я попробовал.

let a = arr2(&[[1., 2., 3.], [4., 5., 6.]]);
let b = stack(Axis(0), &[a.column(1).view(), a.column(2).view()]).unwrap();
let b = Array::from_iter(b.iter());
let b = b.reshape((2, 2));

, который дает ошибку:

error[E0277]: the trait bound `ndarray::OwnedRepr<&{float}>: ndarray::data_traits::DataShared` is not satisfied
   --> src/main.rs:143:15
    |
143 |     let b = b.reshape((2,2));
    |               ^^^^^^^ the trait `ndarray::data_traits::DataShared` is not implemented for `ndarray::OwnedRepr<&{float}>`

1 Ответ

2 голосов
/ 29 мая 2019

В соответствии с документами ndarray , reshape можно использовать только на ArcArray. Для любого другого массива используйте into_shape:

let b = b.into_shape((2, 2));
...