【发布时间】:2020-02-07 08:20:53
【问题描述】:
在我之前的任务中,
python Keyword matching(keyword list - column)
所以它工作。更进一步,我想看更多。
问题
第一季度。我想检查匹配列表中单词的频率。
输出我想要的 Q1*
DF
0 K Ieatapple
1 Y bananaisdelicious
2 B orangelikesomething
3 Q bluegrape
4 C appleislike
mylist = [apple, banana]
#keyword matching
df[df['Value'].str.contains("|".join(mylist))]
Name Value
0 K I eat apple
1 Y banana is delicious
4 C appleislike
#output what I want
matching word frequency : apple : 2, banana : 1
第二季度。我想检查 List 中的哪些单词与 List 匹配的行匹配?
输出我想要的 Q2
假设数据框与上例相同,
Name Value
0 K I eat apple
1 Y banana is delicious
4 C appleislike
#Matching keyword&row
0 : apple
1 : banana
4 : apple
如果你有不止一个,我希望你把它们都展示出来。
感谢您的阅读,如果您对我的问题有任何疑问,请问我。
进一步
Value New
0 I eat appleapple apple,apple
1 banana is delicious banana
2 appleislikeapple apple,apple
我申请了以下答案,效果很好。 但我还需要一件事。
如上例所示,如果连续出现重复单词,则全部查找。如果单词重复,我只想显示其中一个。
通过寻找另一个stackoverflow,我尝试了删除连续重复单词的方法,例如Ordereddict,但它似乎只适用于链接的句子。
喜欢apple apple apple -> apple
不适用于我的情况,例如apple, apple -> apple, apple
所以当我使用下面的代码时,
s = pd.DataFrame (extracted.tolist ()). stack (). value_counts ()
统计所有重复的单词。
我该如何解决?
【问题讨论】:
-
@jezrael 还需要一件事,我进一步添加了它。可以的话可以帮忙看看吗?
标签: python pandas dataframe match