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

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

使用字符串包含標記字符串中的確切單詞

使用字符串包含標記字符串中的確切單詞

人到中年有點甜 2023-06-06 15:45:25
我有一個看起來像這樣的數據集:ID Symptoms1  ear, fever2  hearing loss3  hurt ear4  spear wound5  bad hearing  6  earring cut我只想標記出現“耳朵”的記錄。因此,例如,輸出將如下所示:ID Symptoms         Ear1  ear, fever        12  hearing loss      03  hurt ear          14  spear wound       05  bad hearing       0 6  earring cut       0我玩過一些代碼但收效甚微:問題:此代碼會提取任何帶有“ear”文本的內容LABS_TAT.loc[:,"Ear"]=np.where(LABS_TAT["Symptoms"].str.contains("ear", case=False),1,0)注意“ear”之后的空格,此代碼不會標記記錄“hurt ear” LABS_TAT.loc[:,"Ear"]=np.where(LABS_TAT["Symptoms"].str.contains("ear ", case=False),1,0)注意“ear”之前的空格,此代碼不會標記記錄“ear, fever” LABS_TAT.loc[:,"Ear"]=np.where(LABS_TAT["Symptoms"].str.contains(" ear", case=False),1,0)我怎樣才能修復我的代碼,以便它用單詞“ear”標記任何記錄?我覺得有一個簡單的答案,但我對 python 還是有點陌生。
查看完整描述

2 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

Series.str.contains與正則表達式模式一起使用:

df['Ear']?=?df['Symptoms'].str.contains(r'(?i)\bear\b').astype(int)

結果:

? ID? ? ? Symptoms? ?Ear

0? ?1? ? ear, fever? ? 1

1? ?2? hearing loss? ? 0

2? ?3? ? ? hurt ear? ? 1

3? ?4? ?spear wound? ? 0

4? ?5? ?bad hearing? ? 0

5? ?6? ?earring cut? ? 0


查看完整回答
反對 回復 2023-06-06
?
GCT1015

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

由于.contains()采用正則表達式模式,這應該和.contains(r"\bear\b", case=False).

\b指示單詞邊界字符。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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