我试图从一个csv文件中逐行提取关键字,并创建一个关键字字段。现在我可以得到完整的提取。如何获取每行/字段的关键字?在
数据:
id,some_text
1,"What is the meaning of the word Himalaya?"
2,"Palindrome is a word, phrase, or sequence that reads the same backward as forward"
代码:这是搜索整个文本,而不是逐行搜索。除了replace(r'\|', ' ')
,我还需要放其他东西吗?在
最终输出:
id,some_text,new_keyword_field
1,What is the meaning of the word Himalaya?,"meaning,word,himalaya"
2,"Palindrome is a word, phrase, or sequence that reads the same backward as forward","palindrome,word,phrase,sequence,reads,backward,forward"
下面是一种使用pandapply将新关键字列添加到数据帧的干净方法。Apply的工作原理是首先定义一个函数(在我们的例子中是
get_keywords
),我们可以将应用于每一行或列。在在这里,我们定义将应用于每一行的函数数据框应用在下一个牢房里。您可以看到,这个函数
^{pr2}$get_keywords
以一个row
作为参数,并返回一个逗号分隔的关键字字符串,就像您在上面想要的输出中一样(“含义,单词,喜马拉雅”)。在这个函数中,我们降低、标记、用isalpha()
过滤掉标点符号、过滤掉停止字,并将关键字连接在一起以形成所需的输出。在现在我们已经定义了要应用的函数,我们调用
df.apply(get_keywords, axis=1)
。这将返回熊猫系列(类似于列表)。因为我们希望这个系列成为我们数据帧的一部分,所以我们使用df['keywords'] = df.apply(get_keywords, axis=1)
将其添加为新列相关问题 更多 >
编程相关推荐