【发布时间】:2023-03-16 19:34:01
【问题描述】:
我从一个更大的 DataFrame 和一个 DataFrame 中提取了一系列关键字,其中包含一列字符串。我想掩盖 DataFrame 查找哪些字符串包含至少一个关键字。 “关键词”系列如下(怪词见谅):
Skilful
Wilful
Somewhere
Thing
Strange
DataFrame 如下所示:
User_ID;Tweet
01;hi all
02;see you somewhere
03;So weird
04;hi all :-)
05;next big thing
06;how can i say no?
07;so strange
08;not at all
到目前为止,我使用了来自 pandas 的 str.contains() 函数,例如:
mask = df['Tweet'].str.contains(str(Keywords['Keyword'][4]), case=False)
在DataFrame中找到“Strange”字符串并返回效果很好:
0 False
1 False
2 False
3 False
4 False
5 False
6 True
7 False
Name: Tweet, dtype: bool
我想做的是用所有关键字数组屏蔽整个 DataFrame,所以我可以有这样的东西:
0 False
1 True
2 False
3 False
4 True
5 False
6 True
7 False
Name: Tweet, dtype: bool
是否可以不循环遍历数组?在我的真实案例中,我必须搜索数百万个字符串,所以我正在寻找一种快速的方法。
感谢您的热心帮助。
【问题讨论】: