亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python-搜索數據框架中的單詞并跟蹤找到的單詞和頻率

Python-搜索數據框架中的單詞并跟蹤找到的單詞和頻率

泛舟湖上清波郎朗 2023-09-26 15:11:34
我參考了以下帖子,它非常有幫助,但我需要更進一步。 Python - 從列表中搜索數據框中的字符串我不僅想在數據框中搜索單詞列表,還想跟蹤是否找到多個單詞及其頻率。因此,使用上面帖子中的示例:如果這是我的搜索列表search_list = ['STEEL','IRON','GOLD','SILVER']這是我正在搜索的數據框      a    b             0    123   'Blah Blah Steel'1    456   'Blah Blah Blah Steel Gold'2    789   'Blah Blah Gold'3    790   'Blah Blah blah'我希望我的輸出是      a    b                        c               d0    123   'Blah Blah Steel'      'STEEL'           11    789   'Blah Blah Steel Gold' 'STEEL','GOLD'    22    789   'Blah Blah Gold'       'GOLD'            13    790   'Blah Blah blah'我如何擴展上述帖子中的出色解決方案以獲得所需的輸出?我目前正在利用投票最高的答案作為起點。我更關心能夠從列表中標記多個單詞。我還沒有找到任何方法來做到這一點。如果在此步驟中無法執行此操作,我可以將字符串計數函數應用于數據框以創建頻率列。如果有一種方法可以一步完成這一切,那也很好。
查看完整描述

2 回答

?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

您可以使用re.findall()而不是 extract() 來執行您需要的操作。


import re


search_list = ['STEEL','IRON','GOLD','SILVER']


df['c'] = df.b.str.findall('({0})'.format('|'.join(search_list)), flags=re.IGNORECASE)

df['d'] = df['c'].str.len()

這個輸出看起來像這樣:

https://img3.sycdn.imooc.com/651284620001f02a03160132.jpg

查看完整回答
反對 回復 2023-09-26
?
UYOU

TA貢獻1878條經驗 獲得超4個贊

#turn column b into a list of uppercases

  df.b=df.b.str.upper().str.split('\s')


#Because you have two lists, use the apply function to turn them into sets

#..and leverage the rich membership functions encased in sets.

# Using intersection, you will find items in each list. 

#Then use list.str.len() to count.


df=df.assign(c=df.b.apply(lambda x:[*{*x}&{*search_list}])\

.str.join(','),d=df.b.apply(lambda \

x:[*{*x}&{*search_list}]).str.len())




                       b           c      d

0        [BLAH, BLAH, STEEL]       STEEL  1

1  [BLAH, BLAH, STEEL, GOLD]  GOLD,STEEL  2

2         [BLAH, BLAH, GOLD]        GOLD  1

3         [BLAH, BLAH, BLAH]              0


查看完整回答
反對 回復 2023-09-26
  • 2 回答
  • 0 關注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號