I have a set of similar sounding names in 2 columns in pandas data frame, which i am doing fuzzy matching using fuzzywuzzy library in python.
import pandas as pd
from fuzzywuzzy import fuzz
datt = pd.read_csv("H:\\FuzzyMatch\\data.csv")
#add column names for each library
datt['ratio'] = ""
datt['partial_ratio'] = ""
datt['partial_token_set_ratio'] = ""
datt['partial_token_sort_ratio'] = ""
datt['QRatio'] = ""
datt['token_set_ratio'] = ""
datt['token_sort_ratio'] = ""
datt['UQRatio'] = ""
datt['UWRatio'] = ""
datt['WRatio'] = ""
#save score
for i in range(datt.shape[0]):
    datt.ratio.loc[i] = fuzz.ratio(datt.current_company[i],datt.crm_company_name[i])
    datt.partial_ratio.loc[i] = fuzz.partial_ratio(datt.current_company[i],datt.crm_company_name[i])
    datt.partial_token_set_ratio.loc[i] = fuzz.partial_token_set_ratio(datt.current_company[i],datt.crm_company_name[i])
    datt.partial_token_sort_ratio.loc[i] = fuzz.partial_token_sort_ratio(datt.current_company[i],datt.crm_company_name[i])
    datt.QRatio.loc[i] = fuzz.QRatio(datt.current_company[i],datt.crm_company_name[i])
    datt.token_set_ratio.loc[i] = fuzz.token_set_ratio(datt.current_company[i],datt.crm_company_name[i])
    datt.token_sort_ratio.loc[i] = fuzz.token_sort_ratio(datt.current_company[i],datt.crm_company_name[i])
    datt.UQRatio.loc[i] = fuzz.UQRatio(datt.current_company[i],datt.crm_company_name[i])
    datt.UWRatio.loc[i] = fuzz.UWRatio(datt.current_company[i],datt.crm_company_name[i])
    datt.WRatio.loc[i] = fuzz.WRatio(datt.current_company[i],datt.crm_company_name[i])
Is there any way i can avoid the loop and use a vectorized form of the function? Each function in the loop needs 2 parameters.
Thanks!!