Skip to content

Commit

Permalink
[WIP] remove inplace features for pandas cats
Browse files Browse the repository at this point in the history
  • Loading branch information
Japhiolite committed May 25, 2023
1 parent cc3b233 commit 2945ed3
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 18 deletions.
27 changes: 12 additions & 15 deletions gempy/api_modules/io.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,10 +157,8 @@ def _load_surface_points(cat_series, cat_surfaces, geo_model, name, path):
'series': 'category',
'id': 'int64',
'order_series': 'int64'})
geo_model._surface_points.df['surface'].cat.set_categories(cat_surfaces,
inplace=True)
geo_model._surface_points.df['series'].cat.set_categories(cat_series,
inplace=True)
geo_model._surface_points.df['surface'] = geo_model._surface_points.df['surface'].cat.set_categories(cat_surfaces)
geo_model._surface_points.df['series'] = geo_model._surface_points.df['series'].cat.set_categories(cat_series)
# Code to add smooth columns for models saved before gempy 2.0bdev4
try:
geo_model._surface_points.df['smooth']
Expand Down Expand Up @@ -227,8 +225,8 @@ def _load_stack(geo_model, name, path):
series_index = pn.CategoricalIndex(geo_model._stack.df.index.values)
# geo_model.series.df.index = pn.CategoricalIndex(series_index)
geo_model._stack.df.index = series_index
geo_model._stack.df['BottomRelation'].cat.set_categories(
['Erosion', 'Onlap', 'Fault'], inplace=True)
geo_model._stack.df['BottomRelation'] = geo_model._stack.df['BottomRelation'].cat.set_categories(
['Erosion', 'Onlap', 'Fault'])
try:
geo_model._stack.df['isActive']
except KeyError:
Expand Down Expand Up @@ -258,15 +256,14 @@ def _load_additional_data(geo_model, name, path):
'aesara_optimizer': 'category',
'device': 'category',
'verbosity': object})
geo_model._additional_data.options.df['dtype'].cat.set_categories(
['float32', 'float64'], inplace=True)
geo_model._additional_data.options.df['aesara_optimizer'].cat.set_categories(
['fast_run', 'fast_compile'],
inplace=True)
geo_model._additional_data.options.df['device'].cat.set_categories(
['cpu', 'cuda'], inplace=True)
geo_model._additional_data.options.df['output'].cat.set_categories(
['geology', 'gradients'], inplace=True)
geo_model._additional_data.options.df['dtype'] = geo_model._additional_data.options.df['dtype'].cat.set_categories(
['float32', 'float64'])
geo_model._additional_data.options.df['aesara_optimizer'] = geo_model._additional_data.options.df['aesara_optimizer'].cat.set_categories(
['fast_run', 'fast_compile'])
geo_model._additional_data.options.df['device'] = geo_model._additional_data.options.df['device'].cat.set_categories(
['cpu', 'cuda'])
geo_model._additional_data.options.df['output'] = geo_model._additional_data.options.df['output'].cat.set_categories(
['geology', 'gradients'])
geo_model._additional_data.options.df.loc['values', 'verbosity'] = None


Expand Down
5 changes: 2 additions & 3 deletions gempy/core/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -621,9 +621,8 @@ def modify_order_features(self, new_value: int, idx: str):
"""
self._stack.modify_order_series(new_value, idx)

self._surfaces.df['series'].cat.reorder_categories(
np.asarray(self._stack.df.index),
ordered=False, inplace=True)
self._surfaces.df['series'] = self._surfaces.df['series'].cat.reorder_categories(
np.asarray(self._stack.df.index), ordered=False)

self._surfaces.sort_surfaces()
self._surfaces.set_basement()
Expand Down
1 change: 1 addition & 0 deletions gempy/core/surfaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,7 @@ def map_series(self, mapping_object: Union[dict, pn.DataFrame] = None):
self.reset_order_surfaces()
self.sort_surfaces()
self.set_basement()

return self

# endregion
Expand Down

0 comments on commit 2945ed3

Please sign in to comment.