@Tr3ShKirill
Наблюдатель Вселенной

Как применить функцию построчно pandas?

Привет! Подскажите, плиз, что-то совсем запутался.

Примитивный фрейм данных.
62310c6bc1821380265114.png

Пытаюсь записать в новый стоблец схожесть текста в столбцах a и b
def similarity(s1, s2):
    matcher = difflib.SequenceMatcher(None, s1, s2)
    return matcher.ratio()


Пробовал так,
zz['sim1'] = similarity(zz['a'], zz['b'])

И так
zz['sim2'] = zz.apply(lambda row: similarity(zz['a'], zz['b']), axis=1)


Получается не то, что нужно. Как будто сравнивается весь стоблец сразу.
62310fd6eb960303444410.png

Нужно сравнить построчно и записать значение для каждой строки в новый столбец.
Буду благодарен любой помощи, наводки.
  • Вопрос задан
  • 223 просмотра
Решения вопроса 1
@PavelMos
Первый вариант неправильный, столбцу таким образом назначается одинаковое значение для всех ячеек.

Во втором варианте если то что перебирает лямбда называется row, то и ячейки должны быть у row. А zz['a'], zz['b'] это не ячейки в строке, а столбцы
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы