mirror of
https://github.com/Magnus167/msyrs.git
synced 2025-11-21 17:26:15 +00:00
wip
This commit is contained in:
@@ -37,16 +37,20 @@ pub fn pivot_dataframe_by_ticker(
|
||||
.collect::<Vec<String>>();
|
||||
keep_cols.push(metric.clone());
|
||||
|
||||
let out_dfs = split_df_by_tickers(&df, Some(vec![metric.clone()]))?;
|
||||
let mut out_dfs = split_df_by_tickers(&df, Some(vec![metric.clone()]))?;
|
||||
for (_, odf) in out_dfs.iter_mut() {
|
||||
// select keep_cols
|
||||
*odf = odf.select(vec!["real_date", &*metric.clone()])?;
|
||||
}
|
||||
|
||||
// create a new dataframe with the unique dates, and iteratively add add the metric columns
|
||||
let mut new_df = DataFrame::new(vec![unique_dates])?;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
for (_, odf) in out_dfs.iter() {
|
||||
new_df = new_df.left_join(odf, ["real_date"], ["real_date"])?;
|
||||
}
|
||||
|
||||
Ok(new_df)
|
||||
}
|
||||
|
||||
/// Splits a dataframe by ticker.
|
||||
@@ -92,6 +96,9 @@ fn split_df_by_tickers(
|
||||
Ok(df_outs)
|
||||
}
|
||||
|
||||
/// Splits a QDF container data for a single ticker into a Vec of DataFrames (one per metric).
|
||||
/// The resulting DataFrames will have the "real_date" column and the metric column.
|
||||
#[allow(dead_code)]
|
||||
fn single_ticker_qdf_to_timeseries(mut df: DataFrame) -> Result<Vec<DataFrame>, Box<dyn Error>> {
|
||||
let mut df_vec = Vec::new();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user