refactoring

This commit is contained in:
frankknoll
2023-06-13 23:40:06 +02:00
parent 9e98895553
commit db5d2d6df0

View File

@@ -11,10 +11,10 @@ class CountryColumnsMerger:
how = 'left',
left_index = True,
right_index = True,
suffixes=('_dst', '_src'))
suffixes = ('_dst', '_src'))
merged['COUNTRY'] = (merged
.apply(
lambda series: CountryColumnsMerger._merge(
lambda series: CountryColumnsMerger._mergeSrcIntoDst(
series['COUNTRY_src'],
series['COUNTRY_dst']),
axis = 'columns')
@@ -22,13 +22,16 @@ class CountryColumnsMerger:
return merged.drop(columns = ['COUNTRY_dst', 'COUNTRY_src'])
@staticmethod
def _merge(src, dst):
if (CountryColumnsMerger._isNonUnique(src, dst)) or (pd.isnull(src) and pd.isnull(dst)):
def _mergeSrcIntoDst(src, dst):
if (CountryColumnsMerger._notEqual(src, dst)) or (pd.isnull(src) and pd.isnull(dst)):
raise Exception()
return src if not pd.isnull(src) and pd.isnull(dst) else dst
if pd.isnull(dst) and not pd.isnull(src):
return src
else:
return dst
@staticmethod
def _isNonUnique(src, dst):
def _notEqual(src, dst):
return not pd.isnull(src) and not pd.isnull(dst) and src != dst