Как записать ржавчину ndarray в набор данных HDF5? - PullRequest
0 голосов
/ 05 февраля 2020

Я хочу сохранить ndarray ржавчины в файл HDF5.

У меня есть следующий код (который не работает):

let data: Vec<[f64; 2]> = data.iter().map(|o| [o.timestamp.amount, o.value.value]).collect();
let signal = ndarray::arr2(&data);
let sig1 = group.new_dataset::<f64>().create(&signal_name, (data.len(), 2))?;
sig1.write(signal)?;  // trait bounds not satisfied??

Как правильно сделать это

1 Ответ

1 голос
/ 05 февраля 2020

Хорошо, документы говорят мне, что arr2 возвращает Array, но Dataset :: write занимает Into<ArrayView>>. Не похоже, что From реализован для ArrayView, однако:

  • массивы имеют метод .view(), который должен возвращать ArrayView, поэтому sig1.write(signal.view) может работать
  • ArrayView реализует From<& ArrayBase>, поэтому sig1.write(&signal) также может работать

, по крайней мере, если ArrayBase импортируется / находится в области действия.

...