计算字符串列中的出现次数

Counting occurrences in string column

在一个数据框中,我有一个包含不同学术文献摘要的变量。下面是前 3 个观察结果的示例:

abstract = ['Word embeddings are an active topic in the NLP', 'We propose a new shared task for tactical data', 'We evaluate a semantic parser based on a character']

我想将此变量中的句子拆分为单独的词并删除可能的句点“.”

本例中的代码行应该return如下列表:

abstractwords = ['Word', 'embeddings', 'are', 'an', 'active', 'topic', 'in', 'the', 'NPL', 'We', 'Propose', 'a', 'new', 'shared', 'task', 'for', 'tactical', 'data', 'We', 'evaluate', 'a', 'semantic', 'parser', 'based', 'on', 'a', 'character']

使用for..each循环遍历元素,替换“.”用 space。拆分句子,并连接列表。

abstractwords = []
for sentence in abstract:
    sentence = sentence.replace(".", " ")
    abstractwords.extend(sentence.split())

您可以使用嵌套列表理解:

abstract = ['Word embeddings are an active topic in the NLP.', 'We propose a new shared task for tactical data.', 'We evaluate a semantic parser based on a character.']

words = [word.strip('.') for sentence in abstract for word in sentence.split()]
print(words)
# ['Word', 'embeddings', 'are', 'an', 'active', 'topic', 'in', 'the', 'NLP', 'We', 'propose', 'a', 'new', 'shared', 'task', 'for', 'tactical', 'data', 'We', 'evaluate', 'a', 'semantic', 'parser', 'based', 'on', 'a', 'character']

如果您还想删除单词中间的 '.',请改用 word.replace('.', '')