在Pandas Dataframe中特定单词之间计算单词数量的更快方法是什么?

时间:2018-08-08 23:01:17

标签: python pandas dataframe text-analysis

我有一个关键字列表(可以是多个单词),可以成对组合(例如“ buy”,“ milk”),并使用它们来查找文本中它们之间的单词数量。

数据框列:

  • id
  • 说明(最多1000个符号)

首先,我使用下面的正则表达式掩码从数据框中仅选择包含它们的行。

df = df[(df["description"].str.contains(regex, re.I | re.DOTALL) )]

之后,我将执行以下操作:

keyword1 = "aaaa"
keyword2 = "bbbb"  

regex = r"\b({KEYWORD1}\b.*?\b{KEYWORD2}|{KEYWORD2}\b.*?\b{KEYWORD1})\b".format(
    KEYWORD1 = re.escape(keyword1),
    KEYWORD2 = re.escape(keyword2)           
    )

df['words_between'] = df['description'].str.extract(regex, flags=re.IGNORECASE)
df['distance'] = df['words_between'].str.count(" ")
df['distance'] = df['distance'] - keyword1.count(" ") - keyword2.count(" ")  

这是我当前的解决方案,但我认为它可能会更快。有任何想法吗?

0 个答案:

没有答案