diff options
Diffstat (limited to 'sql/dawn.sql')
| -rw-r--r-- | sql/dawn.sql | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/sql/dawn.sql b/sql/dawn.sql index 0dc7a3fd..8d2c5b93 100644 --- a/sql/dawn.sql +++ b/sql/dawn.sql @@ -1055,21 +1055,18 @@ AS $$ import numpy as np import pandas as pd -source_list = ["BROKER", "BVAL", "IDC", "MANAGER", "MARKIT", "PB", "PRICESERVE", "PRICINGDIRECT", "REUTERS", "S&P"] -sql_string = "SELECT identifier, date, source, mark FROM external_marks_mapped WHERE identifier = $1 order by date, source" +source_list = ["BROKER", "BVAL", "IDC", "MANAGER", "MARKIT", "PB", + "PRICESERVE", "PRICINGDIRECT", "REUTERS", "S&P"] +sql_string = """SELECT identifier, date, source, mark +FROM external_marks_mapped WHERE identifier = $1 ORDER BY date, source""" plan = plpy.prepare(sql_string, ["varchar"]) df = pd.DataFrame.from_records(plpy.cursor(plan, [identifier])) df = df.groupby(['date', 'identifier', 'source']).mean().unstack(-1) df.columns = df.columns.droplevel(level=0) - -for s in source_list: - if s not in df.columns: - df[s] = np.nan - -df = df[source_list].reset_index() +df = df.reindex(columns=source_list).reset_index() for t in (df.itertuples(index=False)): yield [t[0], t[1]] + [None if np.isnan(v) else v for v in t[2:]] -$$ LANGUAGE plpythonu;
\ No newline at end of file +$$ LANGUAGE plpythonu; |
