refining CountryColumnsMergerTest

This commit is contained in:
frankknoll
2023-06-14 01:35:03 +02:00
parent db5d2d6df0
commit 05b75756c9
2 changed files with 108 additions and 10 deletions

View File

@@ -7,7 +7,7 @@ class CountryColumnsMerger:
def mergeCountryColumnOfSrcIntoDst(src: pd.DataFrame, dst: pd.DataFrame):
merged = pd.merge(
dst,
src,
CountryColumnsMerger._drop_duplicates(src['COUNTRY']),
how = 'left',
left_index = True,
right_index = True,
@@ -21,10 +21,14 @@ class CountryColumnsMerger:
.astype('string'))
return merged.drop(columns = ['COUNTRY_dst', 'COUNTRY_src'])
@staticmethod
def _drop_duplicates(df):
return df[~df.index.duplicated(keep = 'first')]
@staticmethod
def _mergeSrcIntoDst(src, dst):
if (CountryColumnsMerger._notEqual(src, dst)) or (pd.isnull(src) and pd.isnull(dst)):
raise Exception()
if CountryColumnsMerger._notEqual(src, dst):
raise Exception(f'{src} != {dst}')
if pd.isnull(dst) and not pd.isnull(src):
return src