From 2bf59f0122b4b942bd25cd1fb397b54d5a3d001c Mon Sep 17 00:00:00 2001
From: Felix Kleinert <f.kleinert@fz-juelich.de>
Date: Mon, 20 Jul 2020 17:42:10 +0200
Subject: [PATCH] update inverse_transform: X and y are also updated. update
 __repr__ and related methods

---
 src/data_handling/data_preparation.py | 31 ++++++++++++++++++---------
 1 file changed, 21 insertions(+), 10 deletions(-)

diff --git a/src/data_handling/data_preparation.py b/src/data_handling/data_preparation.py
index ee2e0505..fe227624 100644
--- a/src/data_handling/data_preparation.py
+++ b/src/data_handling/data_preparation.py
@@ -103,14 +103,17 @@ class StationPrep(AbstractStationPrep):
     @property
     def _print_transformation_as_string(self):
         str_name = ''
-        for k, v in self.transformation.items():
-            if v is not None:
-                try:
-                    v_pr = f"xr.DataArray.from_dict({v.to_dict()})"
-                except AttributeError:
-                    v_pr = f"'{v}'"
-                str_name += f"'{k}':{v_pr}, "
-        str_name = f"{{{str_name}}}"
+        if self.transformation is None:
+            str_name = f'{None}'
+        else:
+            for k, v in self.transformation.items():
+                if v is not None:
+                    try:
+                        v_pr = f"xr.DataArray.from_dict({v.to_dict()})"
+                    except AttributeError:
+                        v_pr = f"'{v}'"
+                    str_name += f"'{k}':{v_pr}, "
+            str_name = f"{{{str_name}}}"
         return str_name
 
     def get_transposed_history(self) -> xr.DataArray:
@@ -615,6 +618,8 @@ class StationPrep(AbstractStationPrep):
         self.check_inverse_transform_params(self.mean, self.std, self._transform_method)
         self.data, self.mean, self.std = f_inverse(self.data, self.mean, self.std, self._transform_method)
         self._transform_method = None
+        # update X and Y
+        self.make_samples()
 
 
 class AbstractDataPrep(object):
@@ -1153,8 +1158,14 @@ if __name__ == "__main__":
                      statistics_per_var=statistics_per_var, station_type='background',
                      network='UBA', sampling='daily', target_dim='variables', target_var='o3',
                      interpolate_dim='datetime', window_history_size=7, window_lead_time=3,
-                     transformation={'method': 'standardise'})
-    sp.set_transformation({'method': 'standardise', 'mean': sp.mean+2, 'std': sp.std+1})
+                     )  # transformation={'method': 'standardise'})
+    # sp.set_transformation({'method': 'standardise', 'mean': sp.mean+2, 'std': sp.std+1})
+    sp2 = StationPrep(data_path='/home/felix/PycharmProjects/mlt_new/data/', station='DEBY122',
+                      statistics_per_var=statistics_per_var, station_type='background',
+                      network='UBA', sampling='daily', target_dim='variables', target_var='o3',
+                      interpolate_dim='datetime', window_history_size=7, window_lead_time=3,
+                      transformation={'method': 'standardise'})
+    sp2.transform(inverse=True)
     sp.get_X()
     sp.get_Y()
     print(len(sp))
-- 
GitLab