我想知道什么是最好和有效的方法来检查,如果3/4的标准,而过滤熊猫。在
目标词:Stevenson
数据帧:
+-----------+
| Names |
+-----------+
| Smith |
| Stevens |
| Parker |
| Stevenson |
| Dickson |
| Greene |
+-----------+
我需要过滤这个df,以包含至少有3/4bigrams = ["st", "te", "ev", "on"]
的单词。我需要它包含单词Stevens
和Stevenson
。然后计算目标词和过滤词的相似度。在
我现在要做的是创建4个[(st, te, ev), (st, ev, on), ....]
中的3个的所有组合,并用df.Names.str.contains("st") & df.Names.str.contains("ev")
等过滤我的数据帧,然后只保留唯一的行。在
我觉得这不是最有效的方法,因为我把大部分时间浪费在过滤上,而不是在模糊匹配上(正如我预期的那样)。我正在测试大小为100k的df,但我的实际df超过1M行。你知道怎么做得更好吗?在我的实际例子中,二进制搜索不起作用。在
这应该行得通。(经过几次编辑)
如果名称的
datatype
是str
,则使用pandas.Series.apply
相关问题 更多 >
编程相关推荐