Как сравнить строки столбца двух панд с помощью нечеткого модуля - PullRequest
0 голосов
/ 10 июня 2019

У меня есть датафрейм с несколькими столбцами, я хочу сравнить два столбца друг с другом.Я пытался использовать нечеткий модуль, чем создать функцию, а затем применить его к столбцу

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

Что я делаю неправильно

1 Ответ

0 голосов
/ 10 июня 2019

Я предполагаю, что вы намерены применить StringComparison к столбцам «Условие показа» и «Поисковой запрос» для создания «Коэффициент схожести»

df1['Коэффициент схожести'] = df1.apply(lambda x: stringComparison(x['Поисковой запрос'],x['Условие показа']), axis = 1 )

Ваши текущие проблемы;

  1. Левая часть вашей последней строки кода - нонсенс.
  2. При применении к серии применяется метод примененной функции к каждому ряду этой серии. Но у вас есть доступ только к данным, содержащимся в этой конкретной серии. нет никаких данных из другого столбца в кадре данных. В вашем случае он вообще не использует какую-либо информацию о строках и вместо этого принимает все df1['Условие показа'] и df1['Поисковой запрос'] в качестве входных данных для функции stringComparison.
...