[英]is there a more efficient way to iterate over a dataframe?
books_over10['Keywords'] = ""
r = Rake() # Uses stopwords for english from NLTK, and all puntuation characters.
for index, row in books_over10.iterrows():
a=r.extract_keywords_from_text(row['bookTitle'])
c=r.get_ranked_phrases() # To get keyword phrases ranked with scores highest to lowest.
books_over10.at[index, 'Keywords'] = c
books_over10.head()
我正在使用上面的代码,以便处理所有行并从 bookTitle 列中的每一行中提取关键字,然后将它们作为列表插入到同一行上名为 Keywords 的新列中。 问题是是否有更有效的方法来做到这一点,而无需遍历所有行,因为这需要大量时间。 任何帮助,将不胜感激。 提前致谢 !
Changming的解决方案:
def extractor(row):
a=r.extract_keywords_from_text(row)
return r.get_ranked_phrases() # To get keyword phrases ranked with scores highest to lowest.
r = Rake() # Uses stopwords for english from NLTK, and all puntuation characters.
books_over10['Keywords'] = books_over10['bookTitle'].map(lambda row : extractor(row))
尝试查看map 。 不确定你正在使用什么 Rake,你的编码方式有点令人困惑,但一般的语法是。
books_over10['Keywords'] = books_over10['bookTitle'].map(lambda a: FUNCTION(a))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.