[英]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.