假设我正在使用另一个库,其输出是 arrow_rs FixedSizeList,我该如何将其放入 polars 系列?
为了简单起见,这里有一个可以作为另一个库源的函数。
use arrow::array::FixedSizeListArray;
use arrow::array::types::Int32Type;
fn fixed_size_list_source()->FixedSizeListArray {
let data = vec![
Some(vec![Some(0), Some(1), Some(2)]),
None,
Some(vec![Some(3), None, Some(5)]),
Some(vec![Some(6), Some(7), Some(45)]),
];
FixedSizeListArray::from_iter_primitive::<Int32Type, _, _>(data, 3)
}
我尝试过使用from_arrow_rs
,但无法制作它&dyn arrow::array::Array
期望作为输入的
我试过了
let list_array = fixed_size_list_source();
let la= Box::new(list_array).into();
但我明白
the trait bound `&dyn arrow::array::Array: From<Box<arrow::array::FixedSizeListArray>>` is not satisfied
required for `Box<arrow::array::FixedSizeListArray>` to implement `Into<&dyn arrow::array::Array>`
FixedSizeList
实现arrow::array::Array
,并且可以转换成Box<dyn polars_arrow::array::Array>
,进而可以转换成Series
:您将需要拥有
polars
、arrow
并启用polars-arrow
该arrow_rs
功能。