From 51052c8fc69da0de2efd19fc04a9ceb1fcaf747b Mon Sep 17 00:00:00 2001 From: Le Roux Erwan <erwan.le-roux@irstea.fr> Date: Mon, 10 Jun 2019 15:50:31 +0200 Subject: [PATCH] [HYPERCUBE] add df_hypercube_trend_nllh as attribute to the hypercube --- .../abstract_hypercube_visualizer.py | 17 ++++++++++++----- .../study_visualization/study_visualizer.py | 6 +++--- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/abstract_hypercube_visualizer.py b/experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/abstract_hypercube_visualizer.py index d0f2920b..72c4479e 100644 --- a/experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/abstract_hypercube_visualizer.py +++ b/experiment/meteo_france_data/scm_models_data/visualization/hypercube_visualization/abstract_hypercube_visualizer.py @@ -62,15 +62,22 @@ class AbstractHypercubeVisualizer(object): self.nb_data_for_fast_mode) for study_visualizer in self.tuple_to_study_visualizer.values()] + def _df_hypercube_trend_meta(self, idx) -> pd.DataFrame: + df_spatio_temporal_trend_strength = [e[idx] for e in self.df_trends_spatio_temporal] + return pd.concat(df_spatio_temporal_trend_strength, keys=list(self.tuple_to_study_visualizer.keys()), axis=0) + + @cached_property def df_hypercube_trend_type(self) -> pd.DataFrame: - df_spatio_temporal_trend_types = [e[0] for e in self.df_trends_spatio_temporal] - return pd.concat(df_spatio_temporal_trend_types, keys=list(self.tuple_to_study_visualizer.keys()), axis=0) - + return self._df_hypercube_trend_meta(idx=0 + ) @cached_property def df_hypercube_trend_strength(self) -> pd.DataFrame: - df_spatio_temporal_trend_strength = [e[1] for e in self.df_trends_spatio_temporal] - return pd.concat(df_spatio_temporal_trend_strength, keys=list(self.tuple_to_study_visualizer.keys()), axis=0) + return self._df_hypercube_trend_meta(idx=1) + + @cached_property + def df_hypercube_trend_nllh(self) -> pd.DataFrame: + return self._df_hypercube_trend_meta(idx=2) # Some properties diff --git a/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py b/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py index 390a389c..0311cdb3 100644 --- a/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py +++ b/experiment/meteo_france_data/scm_models_data/visualization/study_visualization/study_visualizer.py @@ -444,11 +444,11 @@ class StudyVisualizer(VisualizationParameters): nb_massif_for_change_point_test) for massif_name, gev_change_point_test_results in massif_name_to_gev_change_point_test_results.items(): trend_test_res, best_idxs = gev_change_point_test_results - trend_test_res = [(a, b) if i in best_idxs else (np.nan, np.nan) - for i, (a, b, *_) in enumerate(trend_test_res)] + trend_test_res = [(a, b, c) if i in best_idxs else (np.nan, np.nan, c) + for i, (a, b, c, *_) in enumerate(trend_test_res)] massif_name_to_trend_res[massif_name] = list(zip(*trend_test_res)) nb_res = len(list(massif_name_to_trend_res.values())[0]) - assert nb_res == 2 + assert nb_res == 3 all_massif_name_to_res = [{k: v[idx_res] for k, v in massif_name_to_trend_res.items()} for idx_res in range(nb_res)] return [pd.DataFrame(massif_name_to_res, index=self.starting_years_for_change_point_test).transpose() -- GitLab