python - Pandas, join row from target file based on condition -
i need merge row target dataframe source dataframe on fuzzy matching condition has been developed, let's call method fuzzytest
. if fuzzy test returns true
, want merge row target file source file when matched.
so left join target company
passes fuzzytest
when compared source company.
source dataframe
source company 0 cool company 1 bigpharma 2 tod kompany 3 wallmart
target dataframe
target company 0 kool company 1 big farma 2 todd's company 3 c-mart 4 supermart 5 smallstore 6 shoprus
hopefully after mapping through fuzzytest
output be:
source company target company 0 cool company kool company 1 bigpharma big farma 2 tod kompany todd's company 3 wallmart nan
so if fuzzy logic compare 2 strings on each row, wrap function takes in column source , column target. make both columns in 1 dataframe run:
def fuzzytest(source,target): ..... if ...: return target else: return none df['target company'] = df.apply(lambda x: fuzzytest(x['source'],x['target'])
Comments
Post a Comment