Как найти точное совпадение строк, используя функцию лямбда при сравнении замороженных множеств? - PullRequest
1 голос
/ 24 апреля 2019

Следуя этому ответу @adrtam. Я пытался найти точное соответствие для линии, используя

A)

print(rules[rules["antecedents"].apply(lambda x: 'line' in x)])

и

В)

print(rules[rules["antecedents"].apply(lambda x: 'line' == x)])

С)

print(rules[rules["antecedents"].apply(lambda x: 'line' == str(x))])

A возвращает тот же результат, что и

print(rules[rules["antecedents"].apply(lambda x: 'line' in str(x))])

B и C возвращают пустой фрейм данных. Я хочу напечатать строки только с точным соответствием (не содержит). Как мне сделать это с лямбда-функцией?

P.S. Публикация в виде вопроса, потому что у меня недостаточно репутации, чтобы комментировать.

1 Ответ

3 голосов
/ 24 апреля 2019

Я полагаю, вам нужно сравнить на frozenset:

print(rules[rules["antecedents"] == frozenset(['line'])])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...