python Соответствие ключевого слова (список ключевых слов - столбец) - PullRequest
0 голосов
/ 03 февраля 2020

предполагаемый набор данных,

    Name    Value
0   K   Ieatapple
1   Y   bananaisdelicious
2   B   orangelikesomething 
3   Q   bluegrape
4   C   appleislike

, и у меня есть список ключевых слов, например

[apple, banana]

В этом наборе данных соответствующий столбец «Значение» - [список ключевых слов]

* Я имею в виду, что соответствие - это ключевое слово в списке в 'Значение'

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

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

Спасибо.

Редактировать

В моем реальном наборе данных есть ключевые слова в предложении,

Ex,

Ilikeapplethanbananaandorange

, поэтому он не работает, если использовать ключевое слово - сопоставление ключевых слов (1: 1).

1 Ответ

1 голос
/ 03 февраля 2020

Используйте str.contains, чтобы сопоставить слова с вашими предложениями:

keywords = ['apple', 'banana']
df['Value'].str.contains("|".join(keywords)).sum() / len(df)

# 0.6

Или, если вы хотите сохранить строки:


df[df['Value'].str.contains("|".join(keywords))]

  Name                Value
0    K          I eat apple
1    Y  banana is delicious
4    C          appleislike

Подробнее

Канал | - это оператор or в регулярном выражении:

Итак, мы объединяем наш список слов с помощью трубы, чтобы соответствовать одному из следующих слов:

>>> keywords = ['apple', 'banana']
>>> "|".join(keywords)
'apple|banana'

Итак, в регулярном выражении теперь есть выражение:

соответствует строкам, в которых предложение содержит «яблоко» ИЛИ «банан»

...