Sha256: 60867ac77f4e260eb30fa6727abce1b6eef9d92410a95e95b52569c1b835b547
Contents?: true
Size: 1.5 KB
Versions: 4
Compression:
Stored size: 1.5 KB
Contents
use magnus::{prelude::*, IntoValue, RArray, Value}; use super::*; use crate::conversion::{ObjectValue, Wrap}; impl RbDataFrame { pub fn row_tuple(&self, idx: i64) -> Value { let idx = if idx < 0 { (self.df.borrow().height() as i64 + idx) as usize } else { idx as usize }; RArray::from_iter( self.df .borrow() .get_columns() .iter() .map(|s| match s.dtype() { DataType::Object(_, _) => { let obj: Option<&ObjectValue> = s.get_object(idx).map(|any| any.into()); obj.unwrap().to_object() } _ => Wrap(s.get(idx).unwrap()).into_value(), }), ) .as_value() } pub fn row_tuples(&self) -> Value { let df = &self.df; RArray::from_iter((0..df.borrow().height()).map(|idx| { RArray::from_iter( self.df .borrow() .get_columns() .iter() .map(|s| match s.dtype() { DataType::Object(_, _) => { let obj: Option<&ObjectValue> = s.get_object(idx).map(|any| any.into()); obj.unwrap().to_object() } _ => Wrap(s.get(idx).unwrap()).into_value(), }), ) })) .as_value() } }
Version data entries
4 entries across 4 versions & 1 rubygems