refactoring
This commit is contained in:
@@ -4,7 +4,10 @@ import pandas as pd
|
|||||||
class CountriesMerger:
|
class CountriesMerger:
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def mergeCountriesSerieses(countriesSeriesA, countriesSeriesB):
|
def mergeSrcIntoDst(src: pd.Series, dst: pd.Series):
|
||||||
|
def merge(series):
|
||||||
|
series = series.dropna()
|
||||||
|
return sorted(series[0].union(series[1:]))
|
||||||
return (pd
|
return (pd
|
||||||
.merge(countriesSeriesA, countriesSeriesB, how='left', left_index=True, right_index=True)
|
.merge(dst, src, how='left', left_index=True, right_index=True)
|
||||||
.apply(lambda countries: sorted(set(countries.dropna())), axis='columns'))
|
.apply(merge, axis='columns'))
|
||||||
|
|||||||
@@ -6,13 +6,13 @@ from pandas.testing import assert_series_equal
|
|||||||
|
|
||||||
class CountriesMergerTest(unittest.TestCase):
|
class CountriesMergerTest(unittest.TestCase):
|
||||||
|
|
||||||
def test_mergeCountriesSerieses(self):
|
def test_mergeSrcIntoDst(self):
|
||||||
# Given
|
# Given
|
||||||
countriesSeriesA = pd.Series({'NO72A': 'CountryA-1', 'EW096': 'CountryA-2'}, name='countriesSeriesA')
|
dstCountries = pd.Series({'NO72A': {'CountryA-1'}, 'EW096': {'CountryA-2'}}, name='dstCountries')
|
||||||
countriesSeriesB = pd.Series({'NO72A': 'CountryB-1', 'FS192': 'CountryB-2'}, name='countriesSeriesB')
|
srcCountries = pd.Series({'NO72A': 'CountryB-1', 'FS192': 'CountryB-2'}, name='srcCountries')
|
||||||
|
|
||||||
# When
|
# When
|
||||||
mergedCountries = CountriesMerger.mergeCountriesSerieses(countriesSeriesA, countriesSeriesB)
|
mergedCountries = CountriesMerger.mergeSrcIntoDst(src = srcCountries, dst = dstCountries)
|
||||||
|
|
||||||
# Then
|
# Then
|
||||||
assert_series_equal(
|
assert_series_equal(
|
||||||
|
|||||||
Reference in New Issue
Block a user