![](/img/trans.png)
[英]python Pandas |How to assign keywords extracted using rake function into a new column
[英]Python pandas | how to assign keywords extracted from a column to another column?
我有一個熊貓數據框,如下所示,每個元組中都有文本字符串:
Text Col
-----------
I have an apple.
She eats orange.
Tom likes banana and orange
我想從“ Text Col”中提取關鍵字,並將關鍵字指定為另一列“ keyword col”中的值
Text Col KeyWord
-----------------------------------------------------
I have an apple. apple
She eats orange. orange
Tom likes banana and orange banana, orange
我只知道我可以檢查字符串是否包含特定的關鍵字df['Text Col'].str.contains('apple|orange|banana')
但是我不知道如何將列中包含的關鍵字分配給另一個柱。
用谷歌搜索,但沒有任何類似的問題。 有人能幫我這個忙嗎?
非常感謝!
使用.str.extract
,例如
df['Text Col'].str.extract('(apple|orange|banana)', expand = False)
或.extractall
后跟.unstack
如果您期望多個匹配項):
matches = df['Text Col'].str.extractall('(apple|orange|banana)').unstack()
您需要加入他們。 如果您的數據集很小,則可以在純Python中執行此操作:
df['extracted'] = [','.join(filter(None,li)) for li in matches.values]
如果您堅持要在pandas中執行此操作,則可以在列上使用循環,盡管看起來很混亂:
df['extracted'] = ''
for _,col in matches.fillna('').iteritems():
df['extracted'] += col + ','
df['extracted'] = df['extracted'].str.rstrip(',')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.