Added dataframe powers and demo image
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
This commit is contained in:
parent
336313867d
commit
015599cfeb
|
@ -0,0 +1,4 @@
|
|||
* Abacus
|
||||
|
||||
[[abacus_demo.png]]
|
||||
|
|
@ -37,6 +37,8 @@ pub fn setup_engine(engine: &mut rhai::Engine) {
|
|||
engine.register_fn("-", script_functions::subtract_series_i64);
|
||||
engine.register_fn("-", script_functions::subtract_series_f64);
|
||||
|
||||
engine.register_fn("**", script_functions::power_series_f64);
|
||||
engine.register_fn("**", script_functions::power_series_i64);
|
||||
engine.register_fn("*", script_functions::multiply_series_series);
|
||||
engine.register_fn("*", script_functions::multiply_series_i64);
|
||||
engine.register_fn("*", script_functions::multiply_series_f64);
|
||||
|
@ -283,6 +285,34 @@ mod script_functions {
|
|||
Series(a.0 - b.0)
|
||||
}
|
||||
|
||||
pub fn power_series_i64(a: Series, b: i64) -> ScriptResult<Series> {
|
||||
let name = a.name();
|
||||
let a_series = a.0.clone();
|
||||
let df = a_series
|
||||
.into_frame()
|
||||
.lazy()
|
||||
.select([polars::prelude::col(name).pow(b)])
|
||||
.collect()
|
||||
.map_err(|e| e.to_string())?;
|
||||
let s = df.column(name).map_err(|e| e.to_string())?;
|
||||
|
||||
Ok(Series(s.clone()))
|
||||
}
|
||||
|
||||
pub fn power_series_f64(a: Series, b: f64) -> ScriptResult<Series> {
|
||||
let name = a.name();
|
||||
let a_series = a.0.clone();
|
||||
let df = a_series
|
||||
.into_frame()
|
||||
.lazy()
|
||||
.select([polars::prelude::col(name).pow(b)])
|
||||
.collect()
|
||||
.map_err(|e| e.to_string())?;
|
||||
let s = df.column(name).map_err(|e| e.to_string())?;
|
||||
|
||||
Ok(Series(s.clone()))
|
||||
}
|
||||
|
||||
pub fn multiply_series_i64(a: Series, b: i64) -> Series {
|
||||
Series(a.0 * b)
|
||||
}
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 53 KiB |
Loading…
Reference in New Issue