我有一个包含多列的数据框,我想将两列相互比较。我尝试使用Fuzzywuzzy模块,而不是创建函数并将其应用到列
import pandas as pd
import itertools
import re
import pymorphy2
import nltk
from nltk.corpus import stopwords
import difflib
import fuzzywuzzy as fuz
from fuzzywuzzy import fuzz
from fuzzywuzzy import process
def stringComparison(column1,column2):
score = fuzz.WRatio(column1,column2)
return score
df1['Коэффициент схожести'] = df1['Условие показа'].apply(stringComparison(df1['Условие показа'], df1['Поисковой запрос']) but i get invalid syntax error
File "<ipython-input-2-b03e1cc77905>", line 1 df1['Коэффициент схожести']df1['Коэффициент схожести'] = df1['Условие показа'].apply(stringComparison(df1['Условие показа'], df1['Поисковой запрос']) ^ SyntaxError: invalid syntax
我做错了
答案 0 :(得分:0)
我假设您打算将StringComparison应用于“Условиепоказа”和“Поисковойзапрос”列以创建“Коэффициентсхожести”
df1['Коэффициент схожести'] = df1.apply(lambda x: stringComparison(x['Поисковой запрос'],x['Условие показа']), axis = 1 )
您当前的问题是
df1['Условие показа']
和df1['Поисковой запрос']
用作stringComparison
函数的输入。