簡體   English   中英

python 關鍵字匹配(關鍵字列表-列)

[英]python Keyword matching(keyword list - column)

假設數據集,

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

我有關鍵字列表,例如

[apple, banana]

在此數據集中,匹配列 'Value' - [關鍵字列表]

*我的意思是匹配是“值”列表中的關鍵字

我想看看列表中的關鍵字是如何匹配列的,所以..我想知道匹配率是多少。

最終,我想知道的是“查找關鍵字和列之間的匹配率”百分比,如果可以,過濾數據框

謝謝你。

編輯

在我的真實數據集中,句子中有關鍵字,

前任,

Ilikeapplethanbananaandorange

所以如果使用關鍵字 - 關鍵字匹配(1:1)它不起作用。

使用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'

所以在正則表達式中,我們現在有這樣的語句:

匹配句子包含“apple”或“banana”的行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM