refactoring
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
Reference in New Issue
Block a user