|
@@ -11,6 +11,7 @@ import sys
|
|
|
import pandas as pd
|
|
|
import numpy as np
|
|
|
import gc
|
|
|
+from copy import deepcopy
|
|
|
|
|
|
sys.path.append(os.getcwd())
|
|
|
|
|
@@ -586,6 +587,46 @@ class MigrationCleaning:
|
|
|
return data[[c for c in data.columns if (c in mapping_fields) or (c in mongo_fields)]]
|
|
|
|
|
|
|
|
|
+ def map_toleranzen_values(self, data: pd.DataFrame, toleranzen: pd.DataFrame):
|
|
|
+
|
|
|
+ toleranzen.drop('nr', axis=1, inplace=True)
|
|
|
+
|
|
|
+ toleranzen.columns = ['toleranzbez_wellen_reference', 'toleranzbez_innenring_reference', 'wellenschenkel.geometrie.durchmesser.min', 'wellenschenkel.geometrie.durchmesser.max', 'innenring.geometrie.durchmesser.min',
|
|
|
+ 'innenring.geometrie.durchmesser.max', 'wellenschenkel_innenring_difference.geometrie.durchmesser.min', 'wellenschenkel_innenring_difference.geometrie.durchmesser.max']
|
|
|
+
|
|
|
+ labyrinten_drop_columns = ['innenring.geometrie.durchmesser.min', 'innenring.geometrie.durchmesser.max',
|
|
|
+ 'wellenschenkel_innenring_difference.geometrie.durchmesser.min', 'wellenschenkel_innenring_difference.geometrie.durchmesser.max']
|
|
|
+ labyrinten_columns= ['toleranzbez_wellen_reference', 'toleranzbez_innenring_reference', 'labyrinthring.geometrie.durchmesser.min', 'labyrinthring.geometrie.durchmesser.max']
|
|
|
+ reparatur_stufe_labyrinten_columns= ['toleranzbez_wellen_reference', 'toleranzbez_innenring_reference', 'labyrinthring.reparatur_stufe.geometrie.durchmesser.min', 'labyrinthring.reparatur_stufe.geometrie.durchmesser.max']
|
|
|
+
|
|
|
+
|
|
|
+ reparatur_stufe_columns = ['toleranzbez_wellen_reference', 'toleranzbez_innenring_reference', 'wellenschenkel.reparatur_stufe.geometrie.durchmesser.min',
|
|
|
+ 'wellenschenkel.reparatur_stufe.geometrie.durchmesser.max', 'innenring.geometrie.reparatur_stufe.durchmesser.min',
|
|
|
+ 'innenring.reparatur_stufe.geometrie.durchmesser.max', 'wellenschenkel_innenring_difference.reparatur_stufe.geometrie.durchmesser.min',
|
|
|
+ 'wellenschenkel_innenring_difference.reparatur_stufe.geometrie.durchmesser.max']
|
|
|
+
|
|
|
+
|
|
|
+ toleranzen_reference_columns = ['wellenschenkel_toleranz', 'labyrinthring_toleranz', 'wellen_reparatur_stufe_toleranz', 'labyrinthring_reparatur_stufe_toleranz']
|
|
|
+ available_columns = [column for column in data.columns if column in toleranzen_reference_columns]
|
|
|
+ for column in available_columns:
|
|
|
+ if 'toleranz' in column:
|
|
|
+ temp_toleranzen = deepcopy(toleranzen)
|
|
|
+
|
|
|
+ if 'labyrinthring' in column:
|
|
|
+ temp_toleranzen.drop(labyrinten_drop_columns, axis=1, inplace=True)
|
|
|
+ if 'reparatur_stufe' in column:
|
|
|
+ temp_toleranzen.columns = reparatur_stufe_labyrinten_columns
|
|
|
+ else:
|
|
|
+ temp_toleranzen.columns = labyrinten_columns
|
|
|
+
|
|
|
+ elif 'reparatur_stufe' in column:
|
|
|
+ temp_toleranzen.columns = reparatur_stufe_columns
|
|
|
+
|
|
|
+ data = data.merge(temp_toleranzen, how='left', left_on=column, right_on='toleranzbez_wellen_reference')
|
|
|
+ data.drop(['toleranzbez_wellen_reference', 'toleranzbez_innenring_reference'], axis=1, inplace=True)
|
|
|
+
|
|
|
+ return data
|
|
|
+
|
|
|
if __name__ == "__main__":
|
|
|
|
|
|
# testing
|