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